zoukankan      html  css  js  c++  java
  • 存储过程

    存储过程是封装了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 语句)影响了多少行的消息。

  • 相关阅读:
    宠物收养场 Treap
    最佳课题选择
    [USACO08JAN]手机网络Cell Phone Network
    [USACO09MAR]地震损失2Earthquake Damage 2
    字符串距离 简单DP
    小行星群 网络流 二分图
    游览牧场 最小费用流
    BZOJ1391: [Ceoi2008]order
    BZOJ1570: [JSOI2008]Blue Mary的旅行
    BZOJ2243: [SDOI2011]染色
  • 原文地址:https://www.cnblogs.com/zhangdx/p/3802326.html
Copyright © 2011-2022 走看看