SQLServer2008第8章存储过程、触发器和函数_第1页
SQLServer2008第8章存储过程、触发器和函数_第2页
SQLServer2008第8章存储过程、触发器和函数_第3页
SQLServer2008第8章存储过程、触发器和函数_第4页
SQLServer2008第8章存储过程、触发器和函数_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第8章章存储过程、触发器和函数存储过程、触发器和函数 本章学习目标本章学习目标 掌握存储过程的基本概念、特点和类型掌握存储过程的基本概念、特点和类型 掌握存储过程的创建和执行方式掌握存储过程的创建和执行方式 掌握存储过程的管理方式掌握存储过程的管理方式 掌握触发器的基本概念、特点和类型掌握触发器的基本概念、特点和类型 掌握触发器的创建和管理方式掌握触发器的创建和管理方式 了解常用的聚合函数、日期和时间函数、数了解常用的聚合函数、日期和时间函数、数学函数、字符串函数学函数、字符串函数本章本章主要内容主要内容 存储过程概述存储过程概述 创建和执行存储过程创建和执行存储过程 管理存储过程管理存储过

2、程 创建触发器创建触发器 管理触发器管理触发器 常用函数常用函数1. 存储过程的定义2. 存储过程的特点3. 存储过程的类型8.1 存储过程概述存储过程概述 存储过程是一组为了完成特定任务的SQL语句集,是利用SQL Server所提供的Transact-SQL语言所编写的程序。 存储过程经编译和优化后存储在数据库服务器中。 存储过程可以由应用程序通过一个调用来执行,而且允许用户声明变量。 存储过程可以接收和输出参数、返回执行存储过程的状态值。1. 存储过程的定义 存储过程允许用户模块化程序设计,大大提高程序的设计效率。 存储过程可以强制应用程序的安全性,可以防止SQL嵌入式攻击。 由于存储过

3、程在服务器端存储和运行,并且第一次执行后在内存中保留,以后调用时不需要再次从磁盘装载,能够实现更快的执行速度。 用户执行存储过程时,只需在客户端通过指明所调用的存储过程的名称来调用存储过程,可大大较少网络通信流量。 存储过程具有安全特性和所有权链接,可以执行所有的权限管理。2.存储过程的特点 用户自定义存储过程 扩展存储过程 系统存储过程。 3.存储过程的类型1. 在图形界面下创建存储过程2. 用Transact-SQL语句创建不带参数的存储过程 3. 用Transact-SQL语句创建带参数的存储过程 4. 在图形界面下执行存储过程5. 使用Transact-SQL语句执行存储过程8.2 创

4、建和执行存储过程创建和执行存储过程 1. 在图形界面下创建存储过程2. 用Transact-SQL语句创建不带参数的存储过程 语法:CREATE PROCEDURE procedure_nameASsql_statement【例8-1】 CREATE PROCEDURE hotel_proc2ASSELECT 身份证号,姓名,电话 FROM 客户信息3. 用Transact-SQL语句创建带参数的存储过程 语法:CREATE PROCEDURE procedure_name ;numberparameter data_type VARYING=defaultOUTPUT,.n WITH REC

5、OMPILE | ENCRYPTION | RECOMPILE , ENCRYPTIONFOR REPLICATION AS sql_statement .n 【例8-2】 CREATE PROCEDURE hotel_proc3name varchar(12)ASSELECT * FROM 客户信息WHERE 姓名=name4. 在图形界面下执行存储过程5.使用Transact-SQL语句执行存储过程EXECUTE procedure_name【例8-4】DECLARE temp varchar(12)SET temp=李铭EXECUTE hotel_proc3 temp1. 使用“对象资源

6、管理器”查看存储过程 2. 使用系统存储过程查看存储过程3. 使用“对象资源管理器”修改存储过程4. 使用Transact-SQL语句修改存储过程5. 使用“对象资源管理器”删除存储过程6. 使用Transact-SQL语句删除存储过程 8.3管理存储过程管理存储过程1、使用“对象资源管理器”查看存储过程 用 户 可 以 先 用 系 统 存 储 过 程sp_stored_procedures列出当前环境中所有的存储过程, 然后使用另一个系统存储过程sp_helptext查看某存储过程的正文信息。2、使用系统存储过程查看存储过程3、使用“对象资源管理器”修改存储过程ALTER PROCEDURE

7、 procedure_name ;numberparameter data_type VARYING=defaultOUTPUT,.nWITH RECOMPILE | ENCRYPTION | RECOMPILE,ENCRYPTIONFOR REPLICATIONAS sql_statement .n4、使用Transact-SQL语句修改存储过程5、使用“对象资源管理器”删除存储过程DROP PROCEDURE procedure_name ,number6、使用Transact-SQL语句删除存储过程1.触发器定义触发器定义2.触发器的特点触发器的特点3.触发器的分类触发器的分类4.创建创

8、建DML触发器触发器5.创建创建DDL触发器触发器 6.查看触发器查看触发器7.修改修改DML触发器触发器 8.修改修改DDL触发器触发器9.重命名触发器重命名触发器 10. 删除删除DML触发器触发器11. 删除删除DDL触发器触发器12. 禁用启用触发器禁用启用触发器8.4创建和管理触发器创建和管理触发器 l触发器是一种特殊的存储过程,它包括了大量的Transact-SQL语句。l但是触发器又与一般的存储过程有着显著的区别,一般的储过程可以由用户直接调用执行,但是触发器不能被直接调用执行,它只能由事件触发而自动执行。 1、触发器定义触发器是自动执行的,当用户对表中数据作了某些操作之后立即被

9、触发。触发器可通过数据库中的相关表实现级联更改,实现多个表之间数据的一致性和完整性。触发器可以强制比用 CHECK 约束定义的约束更为复杂的约束。与 CHECK 约束不同,触发器可以引用其它表中的列。触发器也可以评估数据修改前后的表状态,并根据其差异采取对策。2、触发器的特点触发器的特点lDML触发器lDDL触发器3、触发器的分类触发器的分类CREATE TRIGGER schema_name.trigger_nameON table | viewWITH ENCRYPTIONFOR | AFTER | INSTEAD OFINSERT , UPDATE , DELETEWITH APPEND

10、NOT FOR REPLICATIONAS sql_statement ; ,.n | EXTERNAL NAME 4、创建、创建DML触发器触发器CREATE TRIGGER trigger_name ON ALL SERVER | DATABASEWITH ENCRYPTIONFOR | AFTER event_type | event_group ,.nAS sql_statement ; ,.n | EXTERNAL NAME ;5、创建、创建DDL触发器触发器sp_help trigger_name:用于查看触发器的名称、属性、类型、创建时间等一般信息。sp_helptext tri

11、gger_name:用于查看触发器的正文信息。sp_depends trigger_name | table_name:用于查看触发器所引用的表或表所涉及的触发器。6、查看触发器查看触发器ALTER TRIGGER schema_name.trigger_nameON table | viewWITH ENCRYPTIONFOR | AFTER | INSTEAD OFDELETE , INSERT , UPDATENOT FOR REPLICATIONASsql_statement ; .n | EXTERNAL NAME ;7、修改修改DML触发器触发器 ALTER TRIGGER tri

12、gger_nameON DATABASE | ALL SERVERWITH ENCRYPTIONFOR | AFTERevent_type ,.n | event_groupASsql_statement ; | EXTERNAL NAME ; 8、修改修改DDL触发器触发器sp_rename old_name,new_name9、重命名触发器、重命名触发器DROP TRIGGER schema_name.trigger_name ,.n ;10、删除删除DML触发器触发器DROP TRIGGER trigger_name ,.n ON DATABASE | ALL SERVER ;11、触发器定义禁用DISABLE TRIGGER schema_name.trigger_name ,.n | ALLON object_name | DATABASE | ALL SERVER ;启用ENABLE TRIGGER schema_name.trigger_name ,.n | AL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论