当前位置:文档之家› 第5章1 T-SQL编程

第5章1 T-SQL编程

5 T-SQL编程

5.1 编程基础

1、Timestamp时间戳类型

8个字节,提供数据库范围内的唯一值,是一个单调上升的计数器,反映数据库中数据修改的相对顺序。

在表中添加行、对某行进行修改时,相应timestamp类型列的值会自动被更新。

2、UniqueIdentifier类型

16字节,SQL Server根据网卡和CPU时钟产生的全局唯一标识符(GUID:Globally Unique Identifier)

世界上的任何两台计算机都不会生成重复的GUID值。GUID主要用于在拥有多个节点、多台计算机的网络中,分配必须具有唯一性的标识符。

设D表中IDs列是UniqueIdentifier类型,赋值示例:

update D set IDs = NEWID()

5.1.3 系统信息的读写函数

5.2.1 语句块BEGIN……END

语句块中的若干条语句被视为一条语句处理。

5.3 存储过程

存储过程:一组完成特定功能的SQL指令序列,经编译后存储在数据库中,在服务器上运行。

调用方式:类似于函数调用。

5.3.1 系统存储过程示例

用户创建、存储在用户数据库中的存储过程,只能在用户数据库中执行。

返回值的类型:只能是整型。(数值型取整,非数值型出错)

不能修改全局状态。

5.4.5 示例:查询层次关系的函数

5.5 事务

5.5.1 事务及事务语句

事务(Transaction):一个指令序列,或全部完成,或全部都不完成的,是一个不可分割的逻辑工作单元。

假设C表中已经存在记录('11', 'aaa',2),但不存在记录('12', 'bbb',2)。

5.6.1 触发器概念

触发器:由INSERT/UPDATE/DELETE事件触发执行的程序。

触发器的意义:自动执行,实现用户定义的完整性约束。

1、限制插入不合适的记录、限制删除或更新特定的记录。(超越CHECK约束、参照完整性约束等)

2、可以对相关表进行级联更改,在插入/修改/删除一条记录的同时在其他表中插入/修改/删除相关记录。

1

2、参数结构

删除数据时:deleted表中是待删除值,inserted表为空。

更新数据时:deleted表中是原值,inserted表中是新值。

5.7 游标

游标的应用背景:SQL命令都是面向集合的,但有时也需要对这些数据集合中的每一行进行“个性化”的操作。

相关主题
文本预览
相关文档 最新文档