【问题标题】:Meaning for this Stored proc此存储过程的含义
【发布时间】:2014-01-21 08:15:48
【问题描述】:

我有一个存储过程,但我不知道发生了什么。所以任何人都可以请您解释存储过程,因为基于此我必须修改其他存储过程。 它是这样的: **

BEGIN
DECLARE
@return_code int
@rows_deleted int outout
@batch_size int 
@purge_before datetime
SET PREFETCH OFF
SELECT @rows_deleted=0,
@return_code=0,
SET rowcount @batch_size
DELETE payee
WHERE cntct_dtm<=@purge_before
SELECT @return_code=@@error, @rows_deleted=@@rowcount
SET rowcount 0
RETURN @return_code
END

【问题讨论】:

  • 您好,我看到您最近登录了 SO,但尚未接受我的回答。如果我的回答有问题,请告诉我,否则请接受我的回答。

标签: tsql select stored-procedures set sybase


【解决方案1】:

它似乎需要两个值作为输入,int 用于设置批量大小,datetime 用于设置事务边界。

  1. rowcount 设置为 batch_size 以限制单次传递中受影响的行数
  2. payee 表中删除,其中cntct_dtm 的值在传递到过程中的datetime 值之前。
  3. 保存值@@error(最有可能是0/1)和@@rowcount
  4. rowcount改回正常
  5. 返回@@error的保存值

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-08-11
    • 2020-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-28
    • 2011-02-22
    • 2017-06-20
    相关资源
    最近更新 更多