欢迎来到天天文库
浏览记录
ID:33472563
大小:622.00 KB
页数:63页
时间:2018-05-25
《《网络数据库开发技术》全套ppt电子课件教案第6章存储过程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章存储过程6.1存储过程6.2触发器主要内容:介绍存储过程与触发器的建立和使用方法。6.1存储过程6.1.1创建存储过程6.1.2执行存储过程6.1.3查看和修改存储过程6.1.4重命名和删除存储过程存储过程的概念SQLServer提供了一种方法,它可以将一些固定的操作集中起来由SQLServer数据库服务器来完成,以实现某个任务,这种方法就是存储过程。在SQLServer中存储过程分为两类:即系统提供的存储过程和用户自定义的存储过程。6.1.1创建存储过程在SQLServer中,可以使用三种方法创建存储过程:①使用创建
2、存储过程向导创建存储过程。②利用SQLServer企业管理器创建存储过程。③使用Transact-SQL语句中的CREATEPROCEDURE命令创建存储过程。创建存储过程时,需要确定存储过程的三个组成部分:①所有的输入参数以及传给调用者的输出参数。②被执行的针对数据库的操作语句,包括调用其它存储过程的语句。③返回给调用者的状态值,以指明调用是成功还是失败。1.使用创建存储过程向导创建存储过程在企业管理器中,选择工具菜单中的向导选项,选择“创建存储过程向导”(如图6-1所示),则出现欢迎使用创建存储过程向导对话框,如图6-2
3、所示。根据图6-2--图6-7提示可完成创建存储过程。图6-1新建SQLServer组图6-2欢迎使用创建存储过程向导对话框图6-3选择数据库对话框图6-4选择数据库对象对话框图6-5完成创建存储过程向导对话框图6-6编辑存储过程属性对话框图6-7编辑存储过程SQL对话框2.使用企业管理器创建存储过程(1)在SQLServer企业管理器中,选择指定的服务器和数据库,用右键单击要创建存储过程的数据库,在弹出的快捷菜单中选择“新建”选项,再选择下一级菜单中的“存储过程…”选项,如图6-8所示;或者用右键单击存储过程图标,从弹出的
4、快捷菜单中选择“新建存储过程…”选项,如图6-9所示。均会出现创建存储过程对话框,如图6-10所示。(2)在文本框中可以输入创建存储过程的T_SQL语句,单击“检查语法”,则可以检查语法是否正确;单击“确定”按钮,即可保存该存储过程。如果要设置权限,单击“权限…”按钮,如图6-11所示。图6-8选择新建存储过程对话框(1)图6-9选择新建存储过程对话框(2)图6-10新建存储过程对话框图6-11设置权限对话框3.使用Transact-SQL语句中的CREATEPROCEDURE命令创建存储过程创建存储过程前,应该考虑下列几个
5、事项:①不能将CREATEPROCEDURE语句与其它SQL语句组合到单个批处理中。②创建存储过程的权限默认属于数据库所有者,该所有者可将此权限授予其他用户。③存储过程是数据库对象,其名称必须遵守标识符规则。④只能在当前数据库中创建存储过程。⑤一个存储过程的最大尺寸为128M。使用CREATEPROCEDURE创建存储过程的语法形式如下:CREATEPROC[EDURE]procedure_name[;number][{@parameterdata_type}[VARYING][=default][OUTPUT]][,
6、...n]WITH {RECOMPILE
7、ENCRYPTION
8、RECOMPILE,ENCRYPTION}][FORREPLICATION]ASsql_statement[...n]用CREATEPROCEDURE创建存储过程的语法参数的意义procedure_name:用于指定要创建的存储过程的名称。number:该参数是可选的整数,它用来对同名的存储过程分组,以便用一条DROPPROCEDURE语句即可将同组的过程一起除去。@parameter:过程中的参数。在CREATEPROCEDURE语句中可以声明一
9、个或多个参数。data_type:用于指定参数的数据类型。VARYING:用于指定作为输出OUTPUT参数支持的结果集。Default:用于指定参数的默认值。OUTPUT:表明该参数是一个返回参数。RECOMPILE:表明SQLServer不会保存该存储过程的执行计划。ENCRYPTION:表示SQLServer加密了syscomments表,该表的text字段是包含CREATEPROCEDURE语句的存储过程文本。FORREPLICATION:用于指定不能在订阅服务器上执行为复制创建的存储过程。AS:用于指定该存储过程要执
10、行的操作。sql_statement:是存储过程中要包含的任意数目和类型的Transact-SQL语句。ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[insert_employees_1]')andOBJECTPR
此文档下载收益归作者所有