触发器与存储过程

触发器与存储过程

ID:35928427

大小:368.00 KB

页数:11页

时间:2019-04-25

触发器与存储过程_第1页
触发器与存储过程_第2页
触发器与存储过程_第3页
触发器与存储过程_第4页
触发器与存储过程_第5页
资源描述:

《触发器与存储过程》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、存储过程、触发器存储过程是将常用的复杂的工作预先以SQL程序写好,然后指定一个程序名称保存起来,以后只要使用EXECUTE指令来执行该程序,即可自动完成该项工作。存储过程作为一个独立的数据库对象,可以作为一个单元被用户的应用程序调用。由于存储过程是已经编译好的代码,所以执行的时候不必再次进行编译,从而提高了程序的运行效率。存储过程的简介:存储过程的优点1.执行效率高(存储过程在建立后DBMS就将其编译成了一个执行计划并保存,每次执行不需要重新编译)2.统一的操作流程(将复杂的工作做成存储过程,不仅

2、节省了人力操作的时间,而且对于一般用户可以维持统一的数据操作流程,以避免用户的不小心操作造成错误3.重复使用4.安全性(可以设置用户通过存储过程对某些关键数据进行访问,但不允许用户直接使用T-SQL或企业管理器对数据进行访问。)n存储过程种类1.系统存储过程(Systemstoredprocedures)2.以sp_开头,是DBMS的内置存储过程,用于系统的各种设置、读取信息或执行相关管理工作。如sp_help就是取得指定对象的相关信息。3.扩展的存储过程(Extendedstoredproced

3、ures)4.以xp_开头,大多以传统的程序语言编写,内容不保存在DBMS里,以DLL的形式单独存在;是DBMS的外挂程序,扩展DBMS的功能,用来调用操作系统提供的功能。5.用户定义的存储过程(User-definedstoredprocedures)6.自己设计的存储过程,名字任意,最好不要以sp_和xp_开SQLServer内置的系统存储过程和扩展的存储过程超过500个,都放在master数据库中n存储过程的创建CREATEPROC[DEURE]存储过程名[@参数名数据类型[=default

4、][output]][,@参数名数据类型[=default][output]][,……][WITH{RECOMPILE

5、ENCRYPTION

6、,RECOMPILE,ENCRYPTION}]ASsql_statementDefault表示参数可以是默认值,默认值必须是常量或NULL;带有OUTPUT的参数是输出参数,不带OUTPUT的参数是输入参数;RECOMPILE:表示每次执行此存储过程时都重新编译一次;ENCRYPTION:表示在数据库的syscomments系统数据表中所记录的该存储过程的创

7、建语句将被加密,别人看不到此存储过程的内容。sql_statement:用于定义存储过程执行的操作。存储过程中的SQL语句不能用于创建数据库、视图、表、规则、触发器或其他的存储过程,也不能使用USE语句选择其他的数据库。n@参数——存储过程的参数,最多可用2100个参数。1.参数包括输入参数和输出参数。输入参数用于提供执行存储过程所必须的参量值;输出参数用于返回执行存储过程后的一些结果值。2.在执行存储过程时,必须提供输入参数的值(变量值或常量表达式),同时必须提供变量接收输出参数的值。3.指定参

8、数名必须以“@”开头,参数名复合命名规则。4.参数是局部变量,只在本存储过程内有效。5.参数可以是所有支持的数据类型。6.default——用于设置参数的默认值。7.如果定义了默认值,存储过程可以在没有指定输入参数的情况下执行。8.默认值可以是常量,NULL,也可以使用%、_、[]、[^]等通配符。9.存储过程使用带通配符的参数时,需要同时使用LIKE关键字。n采用EXECUTE语句执行存储过程,格式为:[EXEC[UTE]]存储过程名[@参数名1=]表达式1,…[@参数名n=]表达式nn参数顺序

9、:n若带参数名,则不必采用创建时的顺序;n若不带参数名,则必须采用创建时的顺序。n如果对存储过程的调用是批处理的第一条语句,则可以直接使用存储过程的名字调用该存储过程n存储过程的修改ALTERPROC[DEURE]存储过程名[@参数名数据类型[=default][output]][,@参数名数据类型[=default][output]][,……][WITH{RECOMPILE

10、ENCRYPTION

11、,RECOMPILE,ENCRYPTION}]ASsql_statement存储过程的建立、使用和修

12、改Student(sno,sname,sage,ssex,sdept)[例1]以学生表student表为例创建一个LOOKUP的存储过程,要求,输入名字,就能查询到该学生所在的系存储过程--举例[例2]:编写一个存储过程,在数据库教学管理的表student中插入一个记录。存储过程信息的查看n查看指定存储过程的所有者和建立日期等信息:EXECsp_help’存储过程名’[例4]:查看dp_insert_student的信息。存储过程信息的查看利用系统存储过程sp_helptext查看

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。