日期:2011-05-02 15:21:00 来源:本站整理
SQL Server数据库技术(68)[MSSQL防范]
本文“SQL Server数据库技术(68)[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在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 所示.
- 输入存储历程正文.
- 单击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 参数而言,参数的最大数目没有限制. - VARYING
指定由OUTPUT 参数支持的后果集,仅利用于游标型参数. - Default
是指参数的缺省值.假如定义了缺省值,那么即便不给出参数值,则该存储历程仍能被调用.缺省值必须是常数,大概是空值. - OUTPUT
表明该参数是一个返回参数.用OUTPUT 参数可以向调用者返复书息.Text 范例参数不能用作OUTPUT 参数. - RECOMPILE
指明SQL Server 并不保存该存储历程的履行筹划,该存储历程每履行一次都又要重新编译. - ENCRYPTION
表明SQL Server 加密了syscomments 表,该表的text 字段是包含有Create procedure语句的存储历程文本,利用该关键字无法通过查看syscomments 表来查看存储历程内容. - FOR REPLICATION
选项指明了为复制成立的存储历程不能在订购服务器上履行,只有在成立过滤存储历程时(仅当举行数据复制时过滤存储历程才被履行),才利用该选项.FOR REPLICATION与WITH RECOMPILE 选项是互不兼容的. - AS
指明该存储历程将要履行的行动. - Sql_statement
是任何数目和范例的包含在存储历程中的SQL 语句.
下面将给出几个例子,用来具体介绍若何成立包含有各种保存字的存储历程.
以上是“SQL Server数据库技术(68)[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论