我在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