如何知道执行的TSQL存储过程更新

Jai*_*hai 8 t-sql sql-server stored-procedures

如何检查我的TSQL存储过程是否在存储过程中更新以创建正确的消息?

例:

ALTER PROCEDURE [dbo].[pUpdate]
            @id uniqueidentifier, 
            @status int,
            @message VARCHAR(100) OUTPUT
AS
BEGIN
    SET NOCOUNT ON;

    UPDATE [database].[dbo].[user]
    SET status = @status
    WHERE Id = @id
END

IF (SUCCESSFUL)
BEGIN
    @message = 'Success!'
END
Run Code Online (Sandbox Code Playgroud)

有哪些方法可以在不使用参数的情况下检查是否成功?

这是我目前使用的:

  SELECT COUNT(*)
    WHERE status = @status AND id = @id
Run Code Online (Sandbox Code Playgroud)

还有其他方法吗?我想知道我的知识和参考.谢谢.

ror*_*.ap 18

你看过了@@ROWCOUNT吗?可能是您正在寻找的(有关详细信息,请参阅此处:http://technet.microsoft.com/en-us/library/ms187316.aspx).基本上它返回受最后一个语句影响的行数.我想如果它不是"成功",它将是零行.