- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章-存储过程
Database数据库原理及技术SQL SERVER 2008第7章 存储过程7.1 什么是存储过程4.1 规范化理论小结 作业本章主要知识点7.1 变量的使用和定义7.2 存储过程使用和定义(重点)7.3触发器的定义和使用(重点)7.1 变量 SQL语言中有两种形式的变量,一种是用户自己定义的局部变量,另外一种是系统提供的全局变量。局部变量 局部变量是一个能够拥有特定数据类型的对象,它的作用范围仅限制在程序内部。局部变量可以作为计数器来计算循环执行的次数,或是控制循环执行的次数。另外,利用局部变量还可以保存数据值,以供控制流语句测试以及保存由存储过程返回的数据值等。局部变量被引用时要在其名称前加上标志“@”,而且必须先用DECLARE命令定义后才可以使用。全局变量 全局变量是SQL Server系统内部使用的变量,其作用范围并不仅仅局限于某一程序,而是任何程序均可以随时调用。全局变量通常存储一些SQL Server的配置设定值和统计数据。用户可以在程序中用全局变量来测试系统的设定值或者是SQL命令执行后的状态值。使用全局变量时应该注意以下几点:①全局变量不是由用户的程序定义的,它们是在服务器级定义的。②用户只能使用预先定义的全局变量。③引用全局变量时,必须以标记符“@@”开头。④局部变量的名称不能与全局变量的名称相同,否则会在应用程序中出现不可预测的结果。系统全局变量的执行方法:select @@VERSION 或print @@version思考:将本台服务器的名称、DBMS的版本和当前使用的语言 名称保存到表‘服务器信息’。局部变量的定义与使用定义:DECLARE@local_variable data_type@local_variable 是变量的名称。变量名必须以字符(@) 开头。data_type 是任何由系统提供的或用户定义的数据类型。注意:变量不能是 text、ntext 或 image 数据类型。给局部变量赋值的方法:1、SET @variable_name=value2、SELECT @variable_name=values两者的区别:1、SET:用于给变量赋予一个值。2、SELECT:用于给变量赋予一个或多个值(表中数据集)。例:declare @ID varchar(20) --定义一个变量叫@IDset @ID=3 --变量赋值为3print @ID --打印 select @ID=1 --变量赋值为1print @ID --打印注意事项:(1)表达式返回多个值时,不能使用 SET 赋值DECLARE @NAME VARCHAR(128)SET @NAME=(SELECT NAME FROM STUDENT)PRINT @NAME/*--出错信息为服务器: 消息 512,级别 16,状态 1,行 2子查询返回的值多于一个。当子查询跟随在 =、!=、、=、、= 之后,或子查询用作表达式时,这种情况是不允许的。*/(2)表达式返回多个值时,使用 SELECT 赋值,返回结果集中最后 的一个值。DECLARE @NAME CHAR(20)SELECT @NAME=SNAME FROM STUDENTPRINT @NAME --结果集中最后一个 USERNAME 列的值7.2 存储过程1、什么是存储过程呢? 存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令。通俗来讲:存储过程其实就是能完成一定操作的一组SQL语句。存储过程的优点:那为什么要用存储过程呢? (1)重复使用。存储过程可以重复使用,从而可以减少数据库开发人员的工作量。?(2)提高性能。存储过程在创建的时候就进行了编译,将来使用的时候不用再重新编译。一般的SQL语句每执行一次就需要编译一次,所以使用存储过程提高了效率。 (3)减少网络流量。存储过程位于服务器上,调用的时候只需要传递存储过程的名称以及参数就可以了,因此降低了网络传输的数据量。 (4)安全性。参数化的存储过程可以防止SQL注入式的攻击,而且可以将Grant、Deny以及Revoke权限应用于存储过程。存储过程分类 种类:系统提供的存储过程和用户自定义存储过程两种。 系统存储过程的使用:--表重命名exec sp_rename student, stud;select * from stud;--列重命名exec sp_rename stud.name, sNameexec sp_help stud;(1)常用系统存储过程Exec sp_databases查看数据库Exec sp_tables查看表Exec sp_columns student查看列Exec sp_helpIndex student查看索引Exec sp_helpConstr
您可能关注的文档
最近下载
- 项目一 任务三 认识餐饮设备(课件)《餐饮服务与管理》(高教版第二版)同步课堂.pptx
- 16S122图集—水加热器选用及安装.pdf
- 第12课《短文二篇——记承天寺夜游》课件++2025-2026学年八年级语文统编版上册.pptx VIP
- 《中国心理学会临床咨询心理学工作伦理守则》考试题库及答案解析(共200题).docx VIP
- 《抗病毒药和抗寄生虫药》课件.ppt
- 翼科ES500系列专用伺服驱动器用户手册.pdf
- 高等职业技术学院辅导员工作手册.pdf VIP
- JBT 7361-2007 滚动轴承 零件硬度试验方法.docx VIP
- 小学生必背古诗75首80首!家长收藏必备,附带文档打印版.pdf VIP
- 入党积极分子培养考察表1.doc VIP
文档评论(0)