sql-server – SQLCMD,命令行变量和脚本:setvar
发布时间:2020-12-12 06:56:30 所属栏目:MsSql教程 来源:网络整理
导读:运行SQLCMD.exe并为脚本变量提供命令行参数时,我希望在命令行中提供的值将覆盖SQL脚本文件中定义的值。 例如 给出以下SQL脚本: :setvar XXX "SQL script"print '$(XXX)' 和命令行: sqlcmd.exe -S Server -d Database -E -b -i Script -v XXX="Batch script
运行SQLCMD.exe并为脚本变量提供命令行参数时,我希望在命令行中提供的值将覆盖SQL脚本文件中定义的值。
例如 给出以下SQL脚本: :setvar XXX "SQL script" print '$(XXX)' 和命令行: sqlcmd.exe -S <Server> -d <Database> -E -b -i <Script> -v XXX="Batch script" 我期望输出是:
但是输出是:
这是意图,还是必须:删除SQL脚本中的setvar语句? 我在脚本中提供了setvar语句,所以我可以使用SQLCMD模式来编辑/测试SQL Management Studio中的脚本,但是在测试和生产环境中的命令行中运行脚本。 解决方法这似乎是设计的;有人已经在Connect上提出了更改请求:http://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=382007 我可以看到的唯一的问题是在发布时注释掉(或以其他方式删除)setvar命令。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |