Tôi đang sử dụng SQL Server 2005. Tôi đã tạo một quy trình được lưu trữ hoạt động phần lớn thời gian, nhưng tôi đã tìm thấy một ví dụ về nơi nó không làm những gì tôi muốn.Cách lấy lỗi sql trong thủ tục lưu sẵn
Hiện nay, mã lệnh thực hiện một cái gì đó như thế này
if @@error <> 0
begin
select @message_error = "There was a database error adding product "+ @product + " to product line
end
đâu @message_error
là một biến đầu ra.
Vì vậy, tôi có thể select @@error
và nhận được một số, nhưng tất cả những gì tôi thực sự muốn là lỗi SQL.
Giống như Xin chào, tôi không thể làm điều này vì có ràng buộc fk trên cột này hoặc bất kỳ thứ gì. Tôi tìm thấy bài viết này trên msdn http://msdn.microsoft.com/en-us/library/ms178592(v=sql.90).aspx
Nhưng nó không chỉ tạo ra ngoại lệ tùy chỉnh với RAISERROR
, tôi không muốn tạo thông báo lỗi hoặc ngoại lệ của riêng mình, tôi chỉ muốn biết tại sao nội dung không hoạt động. Tôi có thể thực hiện các thủ tục lưu trữ thông qua Management Studio và xem lỗi SQL chính xác, nhưng điều này là tẻ nhạt cố gắng để phù hợp với dữ liệu từ trang web và chèn bằng tay theo cách đó.
Làm cách nào để nhận văn bản lỗi SQL vào biến đầu ra?
Bạn đã xem ERROR_MESSAGE http://msdn.microsoft.com/en-us/library/ms190358.aspx chưa? – Romhein