如何将变量放在 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 表变量