如何将变量放在 SQL Server 注释中?

Posted

技术标签:

【中文标题】如何将变量放在 SQL Server 注释中?【英文标题】:How to put variables in a SQL Server comment? 【发布时间】:2019-12-04 07:28:21 【问题描述】:

遗憾的是,我们通过 SQL 查询中的内联 cmets 进行审计,如下所示:

begin transaction; 
EXEC someStoredProcedure; --this was executed by Bob
commit transaction;

我正在尝试通过制作一个包含用户输入字段的工具来自动化它。有没有办法像这样在注释变量中制作字符串?

DECLARE @username varchar(50);

begin transaction; 
EXEC someStoredProcedure; --this was executed by @username
commit transaction;

【问题讨论】:

动态 SQL 将允许这样做。 你想象这个有什么用?我无法想象你在这里真正想要做什么。所以你会在评论中输入@username?有什么意义? 【参考方案1】:

你可以这样使用,你需要分配system_user并使用程序名作为变量。

declare @username varchar(50) = system_user, @procname varchar(50) = '[dbo].[Checkforproc]' 

begin 
exec (@procname)
print ('this '+@procname+ ' was executed by ' +@username)
end 

那么你就可以这样看到你的消息了。

【讨论】:

以上是关于如何将变量放在 SQL Server 注释中?的主要内容,如果未能解决你的问题,请参考以下文章