Я работаю с SQL Server 2008 R2 и у меня есть хранимая процедура, где я пытаюсь бросить errrorошибка Throw в SQL Server 2008 R2
throw 50001, 'Couldnot process,Please verify Transaction ID and EmbossLine', 1
Но запрос не выполняется и получить броски ошибка на 50001. Он отлично работал на SQL Server 2012. Я думаю, что есть некоторые проблемы с версиями. Есть ли какой-либо другой способ, который я могу вынести ошибку в SQL Server 2008 R2?
Это моя хранимая процедура:
Alter procedure [dbo].[spGetRedemption]
@pan varchar(19),
@transId bigint
AS
Begin
if EXISTS(select * from POS_Transactions where [email protected])
Begin
select
PT.ID, PT.TransactionDate, M.MerchantName1,
PT.TerminalID, PT.BatchNumber, PT.SequenceNumber, PT.PAN,
C.EmbossName, PT.TotalAmount, PT.CurrencyCode,
TT.TransactionType, PT.InvoiceNumber
from
POS_Transactions PT
inner join
Terminal T on T.TerminalID = PT.TerminalID
inner join
Merchant M on M.MerchantID = T.MerchantID
inner join
Card C on C.EmbossLine = PT.PAN
inner join
TransactionType TT on TT.TransactionTypeID = PT.TransactionTypeID
where
PT.ID = @transId
and PT.PAN = @pan
END
Else
Begin
throw 50001, 'Couldnot process,Please verify Transaction ID and EmbossLine', 1
END
End
Задать вопрос? – Haris
@ Harry Post Edited! – Nuke
'Throw' пришел в SQL 2012; 'Raiserror' в 2008 году. Https://msdn.microsoft.com/en-us/library/ee677615(v=sql.110).aspx – JohnLBevan