第18章 存储过程与触发器.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
创建存储过程举例(一) 从authors表中返回所有作者的姓名、电话、地址和所在的州名。 CREATE PROCEDURE au_info_all AS SELECT au_lname,au_fname,phone,address,state FROM authors GO 创建存储过程举例(二) 指定参数,返回指定州的作家的姓名、电话、地址。 CREATE PROCEDURE au_info @state char(2) AS SELECT au_lname, au_fname,phone,address FROM authors WHERE state = @state GO 创建存储过程举例(三) 具有默认值的存储过程。 CREATE PROCEDURE au_info @state char(2) = ‘CA‘ --默认值 = ’CA’ AS IF @state NOT LIKE ‘[A-Z][A-Z] ’ --增加一段检查代码 BEGIN print 输入参数错误 return END SELECT au_lname, au_fname,phone,address FROM authors WHERE state = @state GO 使用存储过程(一) 对于例1我们可以以下面的方式执行: EXECUTE au_info_all EXEC au_info_all 如果该过程是批处理中的第一条语句,则可使用:au_info_all 使用存储过程(二) 对于例2(有参数的存储过程)我们可以以下面的方式执行: EXECUTE au_info CA EXECUTE au_info @state = CA EXEC au_info CA EXEC au_info @state = CA 如果该过程是批处理中的第一条语句,则可使用: au_info CA au_info @state = CA 使用存储过程(三) 对于例3(有默认值的存储过程)我们可以以下面的方式执行: 同例2,指定参数 不指定参数,使用默认参数: EXECUTE au_info EXEC au_info 如果该过程是批处理中的第一条语句,则可使用:au_info 使用Output参数返回结果 CREATE PROCEDURE MathTutor @m1 smallint, @m2 smallint, @result smallint OUTPUT AS SET @result = @m1* @m2 GO DECLARE @answer smallint EXECUTE MathTutor 5,6, @answer OUTPUT SELECT The result is: , @answer The result is: 30 结果 执行存储过程 创建存储过程 课堂练习 6. 创建一个存储过程,显示所有价格在15美元以下的书的书名,类型,价格。 7. 把价格作为参数,创建一个能显示在某两个指定价格之间的书的书名,类型,价格。 8. 使用OUTPUT参数,创建一个计算圆柱体体积的存储过程。并执行它。 本章小结 触发器 创建触发器 Inserted和deleted表 建立列级触发器 Instead of 触发器 存储过程 为什么使用存储过程 创建存储过程 使用存储过程(没有参数、有参数、有output参数) 第三讲 数据库编程 第1章 触发器与存储过程 本章内容 触发器 存储过程 触发器 触发器概述 触发器的功能 创建触发器 Inserted和deleted表 建立列级触发器 使用 INSTEAD OF 触发器 使用触发器的注意点 触发器概述 触发器是一类特殊的存储过程,被定义为在对表或视图发出 UPDATE、INSERT 或 DELETE 语句时自动执行。 触发器是与表紧密相连,是与某个表关联的。也就是说,如果在这个表上发生了UPDATE、INSERT 或 DELETE 操作,就会触发相应的触发器进行工作。 触发器分类 AFTER触发器 触发器在触发它们的语句完成后执行。 如果该语句因错误(如违反约束或语法错误)而失败,触发器将不会执行。 不能为视图指定 AFTER 触发器。 在 SQL Server 2000 中 AFTER 是默认触发器。 INSTEAD OF触发器 该触发器代替触发操作执行。 可在表和视图上指定 INSTEAD OF 触发器。 只能为每个触发操作(INSERT、UPDATE 和 DELETE)定义一个 INSTEAD OF 触发器。 触发器的功能 触发器可通过数据库中的相关表实现级联更改;不过,通过级联引用完整性约束可以更有效地执行这些更改; 执行比ch

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档