I'm using SQL Server 2005. I created a stored procedure which works most of the time, but I found an instance of where it doesn't do what I want.
Currently, the code does something like this
if @@error <> 0
begin
select @message_error = "There was a database error adding product "+ @product + " to product line
end
Where @message_error
is an output variable.
So, I can select @@error
and get a number, but all I really want is the SQL error.
Something like Hey, I couldn't do this because there is a fk constraint on this column or whatever. I found this article on msdn http://msdn.microsoft.com/en-us/library/ms178592(v=sql.90).aspx
But it only goes over throwing custom exceptions with RAISERROR
, I don't want to create my own error message or exception, I just want to know why stuff isn't working. I can execute the stored procedure through Management Studio and see the exact SQL error, but this is tedious trying to match data from the site and manually inserting it that way.
How do I get the SQL error text into an output variable?
See Question&Answers more detail:os