数据库技术基础教学课件作者王珊chp7课件.pptVIP

  • 0
  • 0
  • 约2.76万字
  • 约 128页
  • 2016-12-26 发布于广东
  • 举报

数据库技术基础教学课件作者王珊chp7课件.ppt

数据技术基础 第7章 Transact-SQL 7.2.2 变量(续) @@PROCID 返回当前过程的存储过程标识符 (ID) 。 @@NESTLEVEL 返回当前存储过程执行的嵌套层次(初始值为 0)。注意:每当一个存储过程调用另一个存储过程时,嵌套层次即进行递增。超过最大层数32时,事务即被终止。 @@IDENTITY 返回最后插入的标识值。 @@DBTS 为当前数据库返回当前 timestamp 数据类型的值。这一 timestamp 值保证在数据库中是唯一的。 @@LOCK_TIMEOUT 返回当前会话的当前锁超时设置,单位为毫秒。SET LOCK_TIMEOUT 允许应用程序设置语句等待阻塞资源的最长时间。当一条语句已等待超过 LOCK_TIMEOUT所设置的时间,则被锁住的语句将自动取消,并给应用程序返回一条错误信息。 7.2.4 流程控制语句(续) [例7.2] 判断数值大小,打印运算结果。 DECLARE @q int,@r int,@s int SELECT @q = 4,@r = 5,@s = 6 --为三个变量赋值 IF @q @r PRINT qr ELSE IF @r @s PRINT rs ELSE PRINT sr 运算结果为s r。 7.4 存储过程(续) 存储过程的特点 确保数据访问和操作的一致性,提高应用程序的可维护性。 提高系统的执行效率。 提供一种安全机制。 减少了网络的流量负载。 若要改变业务规则或策略,只需改变存储过程和参数,不必修改应用程序。 下课了。。。 由于触发器和存储过程存放在服务器中,在用户程序中看不到其代码,在调试存储过程和触发器时,最好增加一些调试信息,例如,在特定的环节输出一些提示信息,调试完毕后,再删除这些信息。本章的例子都是在调试后,去掉了提示信息。 7.6 小结(续) 追求 休息一会儿。。。 * * * * * 7.4 存储过程 7.4.1 建立存储过程 7.4.2 调用存储过程 7.4.3 管理存储过程 7.4.4 系统存储过程 7.4.2 调用存储过程 格式: [[EXEC[UTE]]{[@返回状态变量=]{过程名[:分组号]|@过程名变量} [[@参数名=]{参数值|@参数变量[OUTPUT]|[DEFAULT]} [,...n] [ WITH RECOMPILE ] @返回状态变量=:如果定义存储过程时,有RETURN语句,需要用一个状态返回变量获取返回码。 7.4.2 调用存储过程(续) @参数名={参数值|@参数变量[OUTPUT]|[DEFAULT]}:给输入变量赋值,定义输出变量接受返回值 从上面的格式中,可以发现有两种常用的调用方法: 方法1: procedure_name --必须是批处理中的第一条语句 GO 方法2: . . . EXECUTE procedure_name … /*不是批处理中的第一 条语句,必须加EXECUTE*/ GO [例7.15] 执行过程addAllSage。 SET IMPLICIT_TRANSACTIONS ON --采用隐式事务方式, addAllSage --按照方法1 GO COMMIT [例7.16] 执行过程addDeptSage。 USE S_C_SC GO SELECT * FROM Student DECLARE @Sdept varchar(30) --声明变量 SET @Sdept = 计算机学院 --给变量赋值 EXECUTE addDeptSage @Sdept --将@Sdept作为输入参数 SELECT * FROM Student –查看修改后的结果 GO 7.4.2 调用存储过程(续) 7.4 存储过程 7.4.1 建立存储过程 7.4.2 调用存储过程 7.4.3 管理存储过程 7.4.4 系统存储过程 7.4.3 管理存储过程 sp_help 返回存储过程的所有者、创建时间和参数等。 sp_help addDeptSageCount --指定要查看的过程的名字 GO sp_helptext 返回创建存储过程时的create procedure语句,如: sp_helptext addDeptSag

文档评论(0)

1亿VIP精品文档

相关文档