gpt4 book ai didi

sql - 我无法使用 THROW SQL Server 2008 R2

转载 作者:行者123 更新时间:2023-12-02 01:42:09 25 4
gpt4 key购买 nike

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

incorrect syntax near Throw

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

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;

关于sql - 我无法使用 THROW SQL Server 2008 R2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16670985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com