检查存储过程中执行的最后一个SQL语句的状态

时间:2017-06-05 17:06:04

标签: sql-server stored-procedures sql-server-2014

如何检查在SQL Server存储过程中执行的最后一条SQL语句的状态?

代码:

laplace

想检查上述语句的状态并在这些语句之后触发一些代码。

2 个答案:

答案 0 :(得分:0)

您可以将要检查的语句放在TRY..CATCH块中。如果失败,它将进入CATCH块。如果成功,它将转到它之后的下一个语句。

psuedo代码示例:

BEGIN TRY
  SET @SQLStmt = N'CREATE CLUSTERED COLUMNSTORE INDEX CCSI ON '+ @DBName +N'.dbo.' + @ResultTableName + N' WITH ( DROP_EXISTING = OFF )'

  EXEC dbo.pCOMMON_PrintVariable ': Create Clustered Columnstore Index: ', @SQLStmt
  EXEC sp_executesql @SQLStmt  

  --do whatever you want to do if the above statements succeed
END TRY

BEGIN CATCH
  --do whatever you want to do if the above statements fail
END CATCH

答案 1 :(得分:0)

在需要检查状态的语句后添加以下代码:

IF(@@ERROR <> 0)
    BEGIN
      // error occurred - place error-handling tasks here
      SELECT 'ERROR'
    END
    ELSE
    BEGIN
      // code executed successfully
      SELECT 'SUCCESS'
    END