(1) T-SQL 游标CURSOR的使用
使用起来很简单,先定义,然后赋个值,打开,通过While Loop 一个一个读下去,最后关闭,释放内存。基本套路如下:
DECLARE MyCursor cursor /* 声明游标,默认为单纯向前的游标。如果想要前后跳来跳去的,写成Scroll Cursor即可 */
FOR
SELECT Column1, Column2 FROM 某某表
Where 某某条件
OPEN MyCursor /* 打开游标 */
FETCH NEXT from MyCursor Into @A, @B /* 读取第1行数据*/
WHILE @@FETCH_STATUS = 0 /* 用WHILE循环控制游标 */
BEGIN /*BEGIN-END 块*/
//在这里,用@A,@B做点事,或者改一改值什么的.
FETCH NEXT from MyCursor Into @A, @B /* 抓下一行 */
END
CLOSE MyCursor /* 关闭游标 */
DEALLOCATE MyCursor /* 删除游标,释放内存 */
(2) 临时表和表变量
临时表就是临时生成一个表放在Tempdb中,有两种.本地临时表,名字第一个字是"#",全局临时表"##".
本地临时表只是给当前连接使用,全局的谁都可以用.除了名字有点怪异外,使用起来临时表同普通表没有任何区别.
用完后,不要忘记Drop掉
表变量放在内存中,体积小效率高,尽量使用.用Declare创建.
declare @user table(id int,lastname varchar(50),age int)
(3) 系统变量
@@Rowcount : 变了多少行
@@error : 错误信息
(4) Case 语句,返回是一个值
有两种:
CASE 某某表达式 When 某值1 Then 某值10
When 某值2 Then 某值20
ELSE 某值00
END
就是比较某某表达式等于某值1,2时,返回某值10,20等等. ELSE是兜底的.
CASE WHEN 某布尔表达式 THEN 某值10
When 某布尔表达式2 THEN 某值20
ELSE 某值00
END
就是布尔表达式是真,返回后面的某值10,20,都是假,返回ELSE后面的值. CASE后面要跟END表示结束
(5) Transaction
BEGIN TRANSACTTION /*开始一个Transaction*/
IF @@ERROR <> 0
ROLLBACK TRANSACTION /*如果出错,就Rollback*/
ELSE
--Commit the transaction
COMMIT TRANSACTION /*一切正常就COMMIT*/
Transaction可以简写为Trans, 在上面三句Transaction后面都可以加个名字,常量或变量.如
BEGIN TRANSACTTION 某某交易名.
有一个变量叫@TransCount是用在嵌套交易中,算算目前到了第几层的.
(6) Create Trigger格式如下
Create Trigger 某某名字
ON 某某表
FOR | AFTER | INSTEAD OF 某某事件
As
做某某触发后该干的事
某某事件包括: Insert,Delete, Update
(7) Create View 格式
Create View 视图的名字 (变量1, 变量2 ...)
As
Select 语句
那个括号里的变量1,2 可以省略.
(8)Data Type 数据类型
BINARY 每个字符占一个字节 任何类型的数据都可存储在这种类型的字段中。
BIT 1 个字节 Yes 和 No ,以及只包含这两个数值之一的字段。
TINYINT 1 个字节 介于 0 到 255 之间的整型数。
MONEY 8 个字节 符号整数。
DATETIME 8 个字节 介于 100 到 9999 年的日期或时间数值。
UNIQUEIDENTIFIER 128 个位 用于远程过程调用的唯一识别数字。
REAL 4 个字节 单精度浮点数。
FLOAT 8 个字节 双精度浮点数。
SMALLINT 2 个字节 短整型数。
INTEGER 4 个字节 长整型数。
DECIMAL 17 个字节 精确的数字数据类型。。
TEXT 每一字符两字节 从零到最大 2,14 千兆字节。
IMAGE 视实际需要而定 从零到最大 2,14 千兆字节。用于 OLE 对象。
CHARACTER 每一字符两字节(参见注意) 长度从 0 到 255 个字符。
定义成TEXT也称作(MEMO)或CHAR(也称作有具体长度的 TEXT(n))的字段中的字符被储存在 Unicode 表示格式。Unicode字符一律需要两个字节存储每一字符。
mysql 存储过程 游标 结束判断 存储过程游标的用法
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
SQL数据库入门06:游标、存储过程的操作及T-SQL程序设计
本文介绍基于Microsoft SQL Server软件,实现数据库T-SQL语言程序设计,以及游标的定义、使用与存储过程的创建、信息查找的方法~
SQL 数据库 SQL Server MySQL 存储过程 -
使用游标的存储过程
上面代码是使用游标的参考例子
赋值 数据 结果集 -
multiprocessing 序列化
实现Serializable接口的目的是为类可持久化,比如在网络传输或本地存储,为系统的分布和异构部署提供先决条件。若没有序列化,现在我们所熟悉的远程调用,对象数据库都不可能存在,serialVersionUID适用于java序列化机制。简单来说,JAVA序列化的机制是通过判断类的serialVersionUID来验证的版本一致的。在进行反序列化时,JVM会把传来的字节流中的serialVersi
multiprocessing 序列化 idea自动生成序列化id serializable 序列化id java 序列化