这是我的SP:
BEGIN TRY
SET @maxDeliveryFailCount -= 1
IF EXISTS (SELECT 1
FROM sms.customerOtp
WHERE customerID = @customerId AND mobileNumber = @mobileNumber AND otp = @otp AND deliveryFailed < @maxDeliveryFailCount)
BEGIN
UPDATE sms.customerOtp
SET deliveryFailed += 1
WHERE customerID = @customerId AND mobileNumber = @mobileNumber AND otp = @otp
END
ELSE
BEGIN
UPDATE sms.customerOtp
SET deliveryFailed += 1, otpExpired = 1
WHERE customerID = @customerId AND mobileNumber = @mobileNumber AND otp = @otp
THROW 51000,'Continuous failed attempts of SMS delivery two time happened, retry with another mobile Number', 1;
END
END TRY
BEGIN CATCH
SELECT
ERROR_NUMBER() AS ErrorNumber
,ERROR_SEVERITY() AS ErrorSeverity
,ERROR_STATE() AS ErrorState
,ERROR_PROCEDURE() AS ErrorProcedure
,ERROR_LINE() AS ErrorLine
,ERROR_MESSAGE() AS ErrorMessage;
END CATCH
我需要在我的else块中抛出一个字符串(带有一条更新语句),但是它不起作用,它显示为语法错误。我哪里错了?任何建议表示赞赏。
“ THROW”附近的语法不正确