SQL Server数据库技术(71)

2016-01-29 16:56 8 1 收藏

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

【 tulaoshi.com - SQLServer 】

    在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 所示。

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

(本文来源于图老师网站,更多请访问http://www.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
选项指明了为复制创建的存储过程不能在订购服务器上执行,只有在创建

来源:http://www.tulaoshi.com/n/20160129/1499877.html

延伸阅读
标签: SQLServer
在企业管理器中可以很方便地调用其它SQL Server 工具,如SQL Server Query Analyzer (查询分析器)、SQL Server Profiler (跟踪器)等,只须从“Tools (工具)”菜单中选择相应的工具即可。 SQL Server 2000 中提供了大量的向导工具,可以引导用户完成一系列的数据库与服务器管理工作。可以从“Tools (工具)”菜单中选择“Wizards” 选项,或从工...
标签: SQLServer
除了使用系统提供的数据类型外,用户还可以根据需要用自定义的数据类型来定义表的列或声明变量。 7.3.1 用Enterprise Manager 创建用户自定义数据类型 用Enterprise Manager 创建用户自定义数据类型的方法是:在Enterprise Manager 中选择要创建用户自定义类型的数据库,在数据库对象“User Defined Data Types”上单击右键,从开始菜单...
标签: SQLServer
11.3.1 UPDATE 语法 用户可以用UPDATE 语句来更新表中一列或多列数据值,其语法如下: 各参数说明如下: SET SET 子句用于指定更新的方法,即用 的值取代相应的列的值。如果省略 WHERE 子句,那么表中的所有数据均会受到影响。在FROM 子句中指定的表或列的别名不能用于SET 子句中。 column_name 指定要更新数据的列。IDENTITY 列不能...
标签: SQLServer
每一个游标必须有四个组成部分这四个关键部分必须符合下面的顺序; 1.DECLARE 游标 2.OPEN 游标 3.从一个游标中FETCH 信息 4.CLOSE 或DEALLOCATE 游标 通常我们使用DECLARE 来声明一个游标声明一个游标主要包括以下主要内容: 游标名字 数据来源(表和列) 选取条件 属性(仅读或可修改) 其语法格式如下: DECLARE cursor_name [INSENSITIVE] [...
标签: SQLServer
 对任何企业组织来说,数据的安全性最为重要。安全性主要是指允许那些具有相应的数据访问权限的用户能够登录到SQL Server 并访问数据以及对数据库对象实施各种权限范围内的操作,但是要拒绝所有的非授权用户的非法操作。因此,安全性管理与用户管理是密不可分的。SQL Server 2000 提供了内置的安全性和数据保护,并且这种管理有效而又容易...

经验教程

825

收藏

12

精华推荐

SQL Server数据库技术(85)

SQL Server数据库技术(85)

可靠的铁柱

SQL Server数据库技术(99)

SQL Server数据库技术(99)

姐你惹不起659

SQL Server数据库技术(109)

SQL Server数据库技术(109)

动感干光波

微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部