如何将变量放在 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 注释中?的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server / Delphi:如何使用表变量类型将整数列表作为参数传输?

如何在 python 中使用 sqlalchemy 在查询中创建 sql server 表变量

如何将插入的输出值分配给 sql server 中的变量? [复制]

如何MyBatis中使用动态SQL查询与注释

SQL server2005中如何定义变量,如何给变量赋值

Sql server 存储过程中怎么将变量赋值?