当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQL Server:如何正确理解存储过程

MSSQL
正确配置和使用SQL mail
关于DTS导入导出丢失默认值等对象
TOP N 和SET ROWCOUNT N 哪个更快
如何在视图中使用ORDER BY短语
如何区分大小写比较?
如何将作为字符串保存的IP地址变为二进制数值?
如何随机选取n条记录或者对记录作随机排序?
SQL脚本生成的一些BUG
如何使Microsoft SQL Server的日志文件不会增大?
利用事务日志来恢复Update、Delete误操作引起的数据丢
关于MSSQL占用过多内存的问题
SQL Server非正常删除日志文件(ldf)恢复方法
处理孤立用户的存储过程
1069错误(由于登录失败而无法启动服务)解决方法
SQL Server 7.0数据库的六种数据移动方法
利用SQL Server的扩展属性象access一样显示列的注释
Stored Procedure(存储过程)编写经验和优化措施
更新你的联机丛书
关于SQL Server中几个未公布的访问注册表的扩展存储过
存储过程替换text,ntext列中的字符串

MSSQL 中的 SQL Server:如何正确理解存储过程


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 110 ::
收藏到网摘: n/a

昨天,小编和大家谈了如何正确使用触发器,今天小编要和大家分享的是如何正确理解存储过程。存储过程也称为存储查询,是存储在数据库中预先定义的SQL语句。它可以将常用的或很复杂的工作预先用SQL语句写好,并用一个值得的名称存储起来。使用时,只需要调用该存储过程就可以自动完成命令。现在的程序员在代码中都不直接使用SQL字符串,而是利用创建和使用存储过程来代替。这样做的好处如下。

1.                   存储过程只在创建时进行编译,以后执行存储过程时都不需要重新编译;而SQL语句每执行一次都要编译一次,所以使用存储过程可以提供数据库执行速度。

2.                   当对数据库进行复杂操作时,可以将这些复杂操作利用存储过程封装起来与数据库提供的事务处理结合在一起使用。

3.                   存储过程的安全性高,可以设定只有魔鬼用户才具有对其指定存储过程的使用权。

4.                   存储过程可以将所有SQL语句代码集中存放于服务器,避免将.net代码和冗长的SQL语句混在一起,从而使.NET代码更容易维护。

5.                   在存储过程中可以使用输出参数,允许返回记录集或其他值。

6.                   存储过程可以重复使用,大大减少了数据库开发人员的工作量。

存储过程几乎总是比相应的SQL语句执行速度快,可以使用Create Procedure语句来创建一个存储过程,基本语法如下:

   Create Proc[edure][拥有者]存储过程名][;程序编号]

     [(canshu #1,…参数#1024)

[with

{recompile|encryption|recomole,encryption}

]

       [for replication]

        As  程序行

其中,存储过程名不能超过128个自己。每个存储过程中最多设定1024个参数,参数的使用方法如下:

@参数名 数据类型 varying】【=内定值】【outPut

在每个参数名的前面要有一个“@”符号,每一个存储过程的参数均为程序内部使用,参数的类型除了Image外,其他SQL Server所支持的数据库都可以使用。

=内定值】相当于在建立数据库时设定的一个自动的默认值,这里是为这个参数设定默认值。【output】是用来指导该参数是既有输入又有输出值的,也就是在调用了这个存储过程时,入果所指定的参数值是需要输入的参数,同事也一在结果中输出,则该项必须为output;如果只是作为输出参数,则可以用Curor,同事在使用该参数时,必须指定varyingoutput这两个语句。

以上是小编为大家总结的,希望对大家有所帮助。