当前位置:七道奇文章资讯数据防范MSSQL防范
日期: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 更易理解,更为简单.
当成立存储历程时,需求肯定存储历程的三个构成部份;

  • 全部的输入参数以及传给调用者的输出参数.
  • 被履行的针对数据库的操作语句,包含调用别的存储历程的语句;
  • 返回给调用者的状况值,以指明调用是成功还是失利.
12.2.1 利用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 所示.

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
    选项指明了为复制成立的存储历程不能在订购服务器上履行,只有在成立过滤存储历程时(仅当举行数据复制时过滤存储历程才被履行),才利用该选项.FOR REPLICATION与WITH RECOMPILE 选项是互不兼容的.
  • AS
    指明该存储历程将要履行的行动.
  • Sql_statement
    是任何数目和范例的包含在存储历程中的SQL 语句.

别的应当指出,一个存储历程的最大尺寸为128M, 用户定义的存储历程必须成立在当前数据库中.
 下面将给出几个例子,用来具体介绍若何成立包含有各种保存字的存储历程.




       以上是“SQL Server数据库技术(68)[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • Windows 搭配 IIS7 PHP MySQL 环境
  • sqlserver索引的原理及索引成立的注意事项小结
  • SQL Join的一些总结(实例)
  • SQL的Join利用图解教程
  • SQL中JOIN和UNION辨别、用法及示例介绍
  • 关于SQL中CTE(公用表表达式)(Common Table Expression)的总结
  • mysql Out of memory (Needed 16777224 bytes)的错误办理
  • mysql提醒[Warning] Invalid (old?) table or database name问题的办理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • MySQL Order By语法介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .