SQL Server数据库技术(71)

娟娟时代5

娟娟时代5

2016-01-29 16:56

SQL Server数据库技术(71),SQL Server数据库技术(71)

    在MS SQL Server 2000 中,创建一个存储过程有两种方法:一种是使用Transaction-SQL 命令Create Procedure, 另一种是使用图形化管理工具Enterprise Manager。 用Transaction- SQL 创建存储过程是一种较为快速的方法,但对于初学者,使用Enterprise Manager 更易理解,更为简单。
当创建存储过程时,需要确定存储过程的三个组成部分;

所有的输入参数以及传给调用者的输出参数。 被执行的针对数据库的操作语句,包括调用其它存储过程的语句; 返回给调用者的状态值,以指明调用是成功还是失败。 12.2.1 使用Enterprise Manager 创建存储过程
按照下述步骤用Enterprise Manager 创建一个存储过程:

启动Enterprise Manager, 登录到要使用的服务器。 选择要创建存储过程的数据库,在左窗格中单击Stored Procedure 文件夹,此时在右窗格中显示该数据库的所有存储过程,如图12-1 所示。 右击Stored Procedure 文件夹,在弹出菜单中选择New Stored Procedure, 此时打开创建存储过程对话框,如图12-2 所示。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/sqlserver/) 输入存储过程正文。 单击Check Syntax, 检查语法是否正确。 单击OK, 保存。 在右窗格中,右击该存储过程,在弹出菜单中选择All task, 选择ManagePermissions, 设置权限,如图12-3 所示。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/sqlserver/) 12.2.2 用CREATE PROCEDURE 命令创建存储过程
通过运用Create Procedure 命令能够创建存储过程,在创建存储过程之前,应该考虑到以下几个方面:

在一个批处理中,Create Procedure 语句不能与其它SQL 语句合并在一起; 数据库所有者具有默认的创建存储过程的权限,它可把该权限传递给其它的用户; 存储过程作为数据库对象其命名必须符合命名规则; 只能在当前数据库中创建属于当前数据库的存储过程。 用Create Procedure 创建存储过程的语法规则如下:
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 参数而言,参数的最大数目没有限制。 VARYING
指定由OUTPUT 参数支持的结果集,仅应用于游标型参数。 Default
是指参数的缺省值。如果定义了缺省值,那么即使不给出参数值,则该存储过程仍能被调用。缺省值必须是常数,或者是空值。 OUTPUT
表明该参数是一个返回参数。用OUTPUT 参数可以向调用者返回信息。Text 类型参数不能用作OUTPUT 参数。 RECOMPILE
指明SQL Server 并不保存该存储过程的执行计划,该存储过程每执行一次都又要重新编译。 ENCRYPTION
表明SQL Server 加密了syscomments 表,该表的text 字段是包含有Create procedure语句的存储过程文本,使用该关键字无法通过查看syscomments 表来查看存储过程内容。 FOR REPLICATION
选项指明了为复制创建的存储过程不能在订购服务器上执行,只有在创建

展开更多 50%)
分享

猜你喜欢

SQL Server数据库技术(71)

SQLServer
SQL Server数据库技术(71)

SQL Server数据库技术(02)

SQLServer
SQL Server数据库技术(02)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

SQL Server数据库技术(03)

SQLServer
SQL Server数据库技术(03)

SQL Server数据库技术(06)

SQLServer
SQL Server数据库技术(06)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

SQL Server数据库技术(09)

SQLServer
SQL Server数据库技术(09)

SQL Server数据库技术(23)

SQLServer
SQL Server数据库技术(23)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

《辐射4》布默动力装甲快速偷取方法详解

《辐射4》布默动力装甲快速偷取方法详解

《辐射4》0.45爆裂枪使用心得分享

《辐射4》0.45爆裂枪使用心得分享
下拉加载更多内容 ↓