我无法使用 THROW SQL Server 2008 R2 [英] I am unable to use THROW SQL Server 2008 R2

查看:38
本文介绍了我无法使用 THROW SQL Server 2008 R2的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

SQL Server 2008 R2 Management Studio 无法识别我在下面的示例中抛出的内容,它说

SQL Server 2008 R2 Management Studio does not recognized my throw in the below example, it says

Throw 附近的语法错误

incorrect syntax near Throw

我试图在这里抛出一个错误,所以当有人两次插入相同的值时,我可以在我的网站中处理它.

I am trying to throw an error here, so I can handled it in my website when someone insert the same value twice.

Begin Try
 insert into BusinessID (BusinessID) values (@ID)
 insert into BusinessID (BusinessID) values (@ID)

End Try

Begin Catch

Print 'PK already exist'
THROW
End Catch

推荐答案

THROW 语句是在SQL Server 2012

http://msdn.microsoft.com/en-us/library/ee677615.aspx

您可以使用 RAISERROR 代替.

http://msdn.microsoft.com/en-us/library/483588bd-021b-4eae-b4ee-216268003e79(v=sql.105)

BEGIN CATCH
    DECLARE @ErrorMessage NVARCHAR(4000);
    DECLARE @ErrorSeverity INT;
    DECLARE @ErrorState INT;

    SELECT 
        @ErrorMessage = ERROR_MESSAGE(),
        @ErrorSeverity = ERROR_SEVERITY(),
        @ErrorState = ERROR_STATE();

    RAISERROR (@ErrorMessage, -- Message text.
               @ErrorSeverity, -- Severity.
               @ErrorState -- State.
               );
END CATCH;

这篇关于我无法使用 THROW SQL Server 2008 R2的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆