我在T-SQL記錄功能類同此:T-SQL動態執行存儲過程
CREATE PROCEDURE [logging]
@PROCEDURE VARCHAR(50),
@MESSAGE VARCHAR(MAX)
AS
BEGIN
PRINT @MESSAGE
END;
GO
我能這樣稱呼它:
execute logging N'procedure_i_am_in', N'log_message';
由於我的存儲過程名字有點冗長,我想寫一個別名或內聯函數等等,以當前的過程爲我調用日誌記錄程序。像這樣的東西(這是打破):
declare @_log varchar(max)
set @_log = 'execute logging N''procedure_i_am_in'', '
execute @_log N'MESSAGE!'
而且我會把這個別名在每個過程的頂部。
你有什麼想法?
對您的問題不清楚。你需要關於你的代碼的幫助嗎(你似乎表示已經破壞了),還是你想對你的日誌記錄方法提出意見? –
@Russel McClure問題是幫助代碼,但我接受任何批評 – Chris
@Chris:你的想法很好,我使用它,但你可以有一個泛型來解決「procedure_i_am_in」根據我的答案 – gbn