欢迎来到天天文库
浏览记录
ID:41367439
大小:389.00 KB
页数:66页
时间:2019-08-23
《SQL数据库之触发器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第8章存储过程与触发器8.1存储过程的创建与使用8.2存储过程的查看、编辑和删除8.3触发器的创建与使用8.4触发器的查看、编辑、重命名和删除8.5实训要求与习题第8章存储过程与触发器学习目的与要求存储过程与触发器是数据库的又一重要组成部分。存储过程可以把对数据库的复杂操作封装为独立的程序模块,相当于其他编程语言的函数、过程、方法,具有“编写一次处处调用”的特点,便于程序的维护和减少网络通讯量。而触发器则是自动调用执行的程序模块,可以实现规则、默认值等约束对象不能完成的复杂约束功能,可以检查数据输入与修改的正确性,保证数据库的数据完整性。通过本章学习,读者应学会如何创建、查看、编
2、辑、删除存储过程和触发器,掌握存储过程和触发器在数据库中的应用。8.1存储过程的创建与使用8.1.1、存储过程的概念1、存储过程存储过程(storedprocedure)是由一系列对数据库进行复杂操作的SQL语句、流程控制语句或函数组成的,并且将代码事先编译好之后、象规则、视图那样作为一个独立的数据库对象进行存储管理。存储过程可作为一个单元被用户直接调用。相当于其他编程语言的函数、过程、方法。2、存储过程的特点存储过程具有参数传递、判断、声明变量、返回信息并扩充标准SQL语言的功能,其特点是:l存储过程可以接收参数,并可以返回多个参数值,也可以返回存储过程的执行状态值以反映存储过
3、程的执行情况。l存储过程可以包含存储过程(嵌套),可以在数据库查询、修改语句中调用存储过程,也可在存储过程中调用存储过程。8.1.1、存储过程的概念3、使用存储过程的优点l执行速度快:存储过程在创建时已经通过语法检查和编译,调用时则直接执行,程序的运行效率高,其执行速度要比标准SQL语句快得多。含有大量SQL语句的批处理需要重复多次执行时,定义为存储过程可大大提高运行效率。l有利于模块化程序设计:存储过程创建后,即可以无数次随时任意繁荣调用。可根据不同的功能模式设计不同的存储过程以供调用。l便于程序的维护管理:当用户对数据库使用的功能改变时,只需对相应的存储过程进行修改而不用修改
4、应用程序。l减少网络通信量:存储过程可包含大量对数据库进行复杂操作的SQL语句,它的存储执行都在SQLServer服务器(数据库)端,网络用户使用时只需发送一个调用语句就可以实现,大大减少了网络上SQL语句的传输。l保证系统的安全性:可以在存储过程中设置用户对数据的访问权限,只允许用户调用存储过程而不允许直接对数据进行访问,充分发挥安全机制的作用。8.1.1、存储过程的概念4、存储过程的缺点l不能实现复杂的逻辑操作:这是因为SQL语言本身就不支持复杂的程序设计结构,所以各种程序设计语言都有自己对数据库进行操作处理的功能。l用存储过程实现数据库的全部功能比较困难:不同用户的需求不同
5、,当涉及特殊管理要求时,很难全面满足要求,若将所有需求都定义为存储过程,其数量将相当可观,记忆和掌握这些存储过程是很困难。存储过程分为系统存储过程和用户自定义存储过程。系统存储过程可直接使用,如定义和绑定规则对象、默认值对象等。用户自定义存储过程必须先定义后使用。8.1.2、用CREATEPROC创建存储过程创建存储过程应遵守的规则:l名称标识符的长度最大为128个字符,且必须惟一。l每个存储过程最多可以使用1,024个参数。l存储过程的最大容量有一定的限制。l存储过程支持多达32层嵌套。l在对存储过程命名时最好和系统存储过程名区分。CREATEPROCEDURE存储过程名[;整
6、数][@形参变量数据类型[varying][=默认值][output]][,…n][WITHrecompile
7、encryption
8、{recompile,encryption}][FORreplication]ASSQL语句系列8.1.2、用CREATEPROC创建存储过程说明:l该语句可以创建永久存储过程,也可以创建一个在一个会话中临时使用的局部存储过程(名称前加一个#),还可以创建一个在所有会话中临时使用的全局存储过程(名称前加两个##)。l整数:可作为同名过程分组的后缀序号(如OP1,OP2可定义属于一组),同组的过程将来可以用一条DROPPROCEDURE删除命令全部删
9、除掉。l@形参变量:指定接收调用参数或返回值的变量,默认状态下只表示单一数值,不能代表表名、列名或其他对象名,形参变量的作用域为该存储过程;所有数据类型(next、image)都可以作为过程的参数类型。nVarying:仅适用于游标参数,指定形参变量可作为支持结果集的返回参数。n默认值:调用过程语句时不提供参数时,形参变量则取该默认值。默认值只能是常量或NULL。nOutput:指定形参变量是返回给调用语句的参数,可以是所有数据类型,也可以是游标占位符。8.1.2、用CREATE
此文档下载收益归作者所有