8-存储过程与触发器.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章存储过程与触发器 8. 1存储过程的使用与管理 在SQL Server中存储过程分为两类:系统存储过程和 用户自定义存储过程。系统存储过程存储在master数据库中, 主要用于从系统表中获取信息。用户自定义的存储过程是用 户在数据库中为了完成某一任务而编写的存储过程。 创建存储过程时,需要确定存储过程的三个组成部分: (1) 所有的输入参数以及传给调用者的输出参数。 (2) 被执行的针对数据库的操作语句,包括调用其 它存储过程的语句。 (3) 返回给调用者的状态值,以指明调用是成功还 是失败。 ?:?创建存储过程时应注意以下几点: 不能将CREATE PROCEDURE语句与其它SQL语 句组合到单个批处理中。 创建存储过程的权限默认属于数据库所有者,该所有 者可将此权限授予其他用户。 存储过程是数据库对象,其名称必须遵守标识符规则。 只能在当前数据库中创建存储过程。 一个存储过程的最大尺寸为128M。 使用SQL Server企业管理器创建存储过程很简单,在 SQL Server企业管理器中,选择指定的服务器和数据库, 用右键单击要创建存储过程的数据库,在弹出的快捷菜单中 选择“新建”选项,再选择下一级菜单中的“存储过程”选 项,或者用右键单击存储过程图标,从弹出的快捷菜单中选 择“新建存储过程”选项,然后根据提示创建即可。 过程中的参数。语句可以 声明一个或多个参数,。 当调用存储过程时,用户 必须给出所有的参数值, 除非定义了参数的默认值。 一个存储过程可以羊 个参数。 译。 表明SQL Server 不会保存该存储 过程的执行计划。 该过程每执行一 用于指定参数的数据类 型,在存储过程中,所 有的数据类型包括text 和I 数, 能* 要创建的存储过程名称, 的可选项number,是 用来区别一组同名的 、在一个数据库或所卢 该参数是一个返回参. ¥ 数。用0UTPUT参数 OUTPUT参!存储过程仍能被 可以返回调用信息。 — …, 类型不能作为参 用于作为指j 用于指定参数的默 认值,如果定义了 默认值,那么即 不给出参数值, 结乒L隹 付[用a默认值必须 参,指明了为复制创建存储 过程不能在订阅服务器 上执行,只有创建过滤 存储过程时,才使用该 选项。与WITH RECOMPILE互不兼容。 ][,…n ] (RECOMPII ENCRYPTION }] [FOR REPLlCATiq SQL语句。 AS sql_statement […n 上二 hCOMPTT f statement 用于指定该存储过程要执行的操作, spl_statement是存储过程包含的 3、使用企业管理器创建存储过程 【例】对系统提供的实例数据库pubs创建一个存储过程,该 2:程获取所有居住在加利福尼亚的奥克兰城的作者信息。 USE pubs GO IF EXISTS SELECT name FROM sysobjects WHERE name=oakland_authors, and type=p, DROP PROCEDURE Oakland authors GO 一 CREATE PROCEDURE oakland_authors AS SELECT au_fname,au_lname,address,city,zip FROM pubs.authors WHERE city=oakland, and state=ca, ORDER BY au_lname,au_fname 【例】创建一个带参数的存储过程。 USE pubs GO CREATE PROCEDURE aujnfor @lastname char(40),@firstname char(20) AS SELECT au_fname,au_lname5title,pub_name FROM authors a INNER JOIN titleauthor ta ON a.aujd=ta,au_id INNER JOIN titles t ON t.title_id=ta.title_id JOIN publishers p ON t.pub_id=p.pub_id WHERE au_fname=@firstname and au_lname=@lastname 【例元3】见书p182o 8.3存储过程的调用是一个可选的整数变量,存放一个存储过程返回状态。这个变量 8.3存储过程的调用 是一个可选的整 数变量,存放一 个存储过程返回 状态。这个变量 必须在用于 EXECUTE 语句 之前在一个批语 句或存储过程中 亩日日 咛): 过程的语蜜籍燮是一个局部变量的名 称,它代表了一个存 储过程的名称「 过程的语蜜籍燮 是一个局部变量的名 称,它代表了一个

文档评论(0)

187****8606 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:6013054242000004

1亿VIP精品文档

相关文档