Tsql 此存储过程的含义

Tsql 此存储过程的含义,tsql,select,stored-procedures,set,sybase,Tsql,Select,Stored Procedures,Set,Sybase,我有一个存储过程,但我不知道发生了什么。任何人都可以请你解释一下存储过程,因为基于此,我必须修改另一个存储过程。 下面是: ** 开始 声明 @返回代码int @行\u已删除int out @批量大小整数 @在日期时间之前清除\u 设置预回迁关闭 选择@rows\u deleted=0, @返回\u代码=0, 设置批次大小时的行数 删除收款人 其中cntct_dtm似乎采用两个值作为输入,一个int用于设置批量大小,另一个datetime用于设置事务边界 rowcount设置为batch\u s

我有一个存储过程,但我不知道发生了什么。任何人都可以请你解释一下存储过程,因为基于此,我必须修改另一个存储过程。 下面是: **

开始
声明
@返回代码int
@行\u已删除int out
@批量大小整数
@在日期时间之前清除\u
设置预回迁关闭
选择@rows\u deleted=0,
@返回\u代码=0,
设置批次大小时的行数
删除收款人

其中cntct_dtm似乎采用两个值作为输入,一个
int
用于设置批量大小,另一个
datetime
用于设置事务边界

  • rowcount
    设置为
    batch\u size
    ,以限制一次传递中受影响的行数
  • 收款人
    表中删除,
    cntct\u dtm
    的值在传递到过程中的
    datetime
    值之前
  • 保存值
    @@error
    (很可能是0/1)和
    @@rowcount
  • rowcount
    更改回正常状态
  • 返回保存的
    值。@@error

  • 您好,我看到您最近登录到,尚未接受我的答复。如果我的回答有问题,请告诉我,否则请接受我的回答。
    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