SQLServer数据库实用技术(71)
时间:2007-12-23 来源:不详 作者:迈克DB
在MS SQL Server 2000 中,创建一个存储过程有两种方法:一种是使用Transaction-SQL 命令Create Procedure, 另一种是使用图形化治理工具Enterprise Manager。 用Transaction- SQL 创建存储过程是一种较为快速的方法,但对于初学者,使用Enterprise Manager 更易理解,更为简单。
当创建存储过程时,需要确定存储过程的三个组成部分;
- 所有的输入参数以及传给调用者的输出参数。
- 被执行的针对数据库的操作语句,包括调用其它存储过程的语句;
- 返回给调用者的状态值,以指明调用是成功还是失败。
按照下述步骤用Enterprise Manager 创建一个存储过程:
- 启动Enterprise Manager, 登录到要使用的服务器。
- 选择要创建存储过程的数据库,在左窗格中单击Stored Procedure 文件夹,此时在右窗格中显示该数据库的所有存储过程,如图12-1 所示。
- 右击Stored Procedure 文件夹,在弹出菜单中选择New Stored Procedure, 此时打开创建存储过程对话框,如图12-2 所示。
copyright dedecms
- 输入存储过程正文。
- 单击Check Syntax, 检查语法是否正确。
- 单击OK, 保存。
- 在右窗格中,右击该存储过程,在弹出菜单中选择All task, 选择ManagePermissions, 设置权限,如图12-3 所示。
织梦内容管理系统
通过运用Create Procedure 命令能够创建存储过程,在创建存储过程之前,应该考虑到以下几个方面:
- 在一个批处理中,Create Procedure 语句不能与其它SQL 语句合并在一起;
- 数据库所有者具有默认的创建存储过程的权限,它可把该权限传递给其它的用户;
- 存储过程作为数据库对象其命名必须符合命名规则;
- 只能在当前数据库中创建属于当前数据库的存储过程。
CREATE PROC [ EDURE ] procedure_name [ ; number ]
[ { @parameter data_type }
[ VARYING ] [ = default ] [ OUTPUT ]
] [ ,...n ]
[ WITH
{ RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ]
[ FOR REPLICATION ]
AS sql_statement [ ...n ]
各参数的含义如下:
- procedure_name
是要创建的存储过程的名字,它后面跟一个可选项number, 它是一个整数,用来区别一组同名的存储过程。存储过程的命名必须符合命名规则,在一个数据库中或对其所有者而言,存储过程的名字必须惟一。 - @parameter 织梦内容管理系统
是存储过程的参数。在Create Procedure 语句中,可以声明一个或多个参数。当调用该存储过程时,用户必须给出所有的参数值,除非定义了参数的缺省值。若参数的形式以 @parameter=value 出现,则参数的次序可以不同,否则用户给出的参数值必须与参数列表中参数的顺序保持一致。若某一参数以@parameter=value 形式给出,那么其它参数也必须以该形式给出。一个存储过程至多有1024 个参数。 - Data_type
是参数的数据类型。在存储过程中,所有的数据类型包括text 和image 都可被用作参数。但是,游标cursor 数据类型只能被用作OUTPUT 参数。当定义游标数据类型时,也必须对VARING 和OUTPUT 要害字进行定义。对可能是游标型数据类型的OUTPUT 参数而言,参数的最大数目没有限制。
文章评论
共有位Admini5网友发表了评论 查看完整内容