存储过程

存储过程是封装了T-SQL代码的服务器端例程。存储过程可以有输入和输出参数,可以返回多个查询的结果集,也允许调用具有副作用的代码。通过存储过程不但可以对数据进行修改,也可以对数据库架构进行修改。

和使用特定的普通代码相比,使用存储过程可以获得以下好处:

1.存储过程可以封装逻辑处理。如果需要修改存储过程的实现,则只要在数据库的一个地方进行修改,存储过程的所有用户就能够使用修改过的版本。

2.通过存储过程可以更好地控制安全性。可以授予用户执行某个存储过程的权限,而不是授予用户直接执行底层操作的权限。

3. 在存储过程中可以整合所有的错误处理,当有错误发生时,默默地进行纠正错误的操作。

4. 存储过程可以提高执行性能。

CREATE PROC dbo.usp_GetCustomerOrders

  @custid AS INT,

  @fromdate AS DATETIME='19000101',

  @todate AS DATETIME='99991231',

  @numrows AS INT OUTPUT

AS

SET NOCOUNT ON;

SELECT orderid,custid,empid,orderdate

FROM dbo.Orders

WHERE

    custid=@custid

  AND orderdate>=@fromdate

  AND orderdate<@todate;

SET @numrows=@@rowcount;

GO

命令 SET NOCOUNT ON 用于禁止显示DML语句(如存储过程中的SELECT 语句)影响了多少行的消息。

posted @ 2014-06-22 11:22  守护之翼  阅读(134)  评论(0编辑  收藏  举报