大三上学期复习资料-新sql第八章.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文档。上传文档
查看更多
第八章存储过程和触发器这一张有编程题,记得看ppt例题一、存储过程1.存储过程:SqlServer存储过程是一组预编译的T-SQL语句,主体构成是标准SQL命令,同时包括T-SQL的语句块、结构控制命令、变量、常量、运算符、表达式、流控语句。1.1概念:存储过程是独立于数据表之外的数据库对象,是SQL Server 服务器上的一组预编译的实现特定操作功能的T—SQL语句,用于完成某项任务,它们可以接受参数、输出参数、返回单个或多个结果集、返回状态值和参数值。存储过程独立于程序源代码,可单独修改,可被调用任意次,可以引用其他存储过程。它与特定数据库相关联,存储在SQL Server服务器上。2.存储过程与其它编程语言中的过程的不同:储过程与其他编程语言或开发环境不同,存储过程是存储在数据库中的,它是数据库的一部份,存储过程在数据库服务器上运行,这样可以避免在客户端和服务端传送无用的数据。3.存储过程功能:3.1接收参数并返回状态值和参数(标量值)3.2处理业务逻辑(通过编写存储过程来运行经常执行的管理任务,或者应用复杂的业务规则)3.3用户可以反复调用存储过程4.优点:允许模块化编程,增强代码的重用性和共享性;可以提高运行速度;可以减少网络流量;可以作为安全性机制的扩充5.存储过程有以下几种类型:系统存储过程、用户存储过程、扩展存储过程、远程存储过程。5.1系统存储过程:是由SQL Server提供的过程,一般存放Master数据库中,其前缀为sp_,(如SP_helptext)以管理SQL Server和显示数据库和用户的相关信息,可以作为命令直接执行。5.2用户存储过程: 是用户创建的存储过程,主要在应用程序中使用。5.3扩展存贮过程:扩展存储过程是对动态链接库(DLL)函数的调用。其前缀为xp_。它允许用户使用DLL访问SQL Server,用户可以使用编程语言(诸如C或C++等)创建自己的扩展过程。5.4远程存储过程:是指从远程服务器上调用的存储过程,或者是从连接到另外一个服务器上的客户机上调用的存储过程,是非本地服务器上的存储过程。5.5临时存储过程:它只存在于当前连接期间,一旦断开连接,该存储过程就被自动删除。6.创建存储过程:6.1CREATE PROC[EDURE]procedure_name[@parameter1 data_type1 [= default1] [OUTPUT],] [WITH RECOMPILE | ENCRYPTION | RECOMPILE,ENCRYPTION}]ASsql_statement [...]【例】编写存储过程实现:统计借阅“程序设计”类图书的读者,借阅该类图书的数量;按姓名排序给出这些读者的编号、姓名、借阅的“程序设计”书名、借阅日期等详细信息。 CREATE PROCEDURE borrowed_books AS SELECT Readers.Rid,Readers.Rname, COUNT(*) as 数量 FROM Books INNER JOINBorrowinfoONBooks.Bid = Borrowinfo.BBid INNER JOIN Readers ONBorrowinfo.BRid = Readers.RidWHEREBooks.Btitle LIKE %程序设计% GROUP BY Readers.Rid,Readers.Rname注意:存储过程只能在当前数据库中创建,且只有具有System Administrators、db_owner或db_ddladmin角色的成员才可以创建。在CREATE PROCEDURE语句中,可以包括任意数量的T-SQL语句,但不能使用CREATE DEFAULT、CREATE PROCEDURE、CREATE RULE、CREATE TRIGGER和CREATE VIEW等创建对象的语句。6.2带参数的存储过程【例】使用输入参数,查询指定姓名的读者借阅书籍信息。 CREATE PROCEDURE borrowed_books1@name varchar(8) 声明参数 AS SELECT Readers.Rname, Readers.Rid, Books.Bid, Books.Btitle,注意:将实参值传给存储过程的方法:直接将值传入:EXEC borrowed_books1 刘超‘利用变量传递: DECLARE @tempnameVARCHAR(8)SET @tempname=刘超 EXEC borrowed_books1 @tempname使用参数名进行传递:(可调整次序) EXEC borrowed_books1 @name=刘超‘如果不给形参输入值,将会产生错误;

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档