1
我有兩個表和一個簡單的存儲過程。我想使用存儲過程插入到table1中,其中一個參數是主鍵。存儲過程 - 將錯誤寫入另一個表
這裏是我有麻煩:
我想擁有它,這樣如果PARM /主鍵的用戶已經進入到存儲過程和運行已經在桌子上,然後在它寫出的字段到第二個表格以及錯誤描述。
如何捕獲/輸出此錯誤信息?
存儲過程(沒有錯誤日誌):
CREATE PROCEDURE procedure1
@Primary INT,
@Info NVARCHAR
AS
BEGIN
SET NOCOUNT ON
INSERT INTO Table1
(
Primary ,
Info
)
VALUES
(
@Primary ,
@Info
)
END
感謝
如何將錯誤信息轉移到table2上的字段? – HolyUnicow
你生成自己的消息。你不是嗎?這是一個簡單的插入。如果不是,請查看'ERROR_MESSAGE()' –
請注意,如果沒有明確的['TRANSACTION'](https://msdn.microsoft.com/en-us/library/ms188929.aspx),行可能不會在'EXISTS'測試中不存在,但在'INSERT'之前被其他用戶插入。如果預計需要插入大多數值,並且SQL Server的版本支持它,請使用['TRY' /'CATCH'](https://msdn.microsoft.com/zh-cn/library/ms175976。 aspx?f = 255&MSPPError = -2147217396)將更有效,並且不需要顯式事務。 – HABO