我有一个批处理文件,它运行许多*.sql
个文件。目前,所有变量都已在sql
文件中进行了硬编码。我想知道如何传递SQLCMD
批处理文件中的变量值。
变量名称示例:
DECLARE @TW_FROM DATETIME DECLARE @TW_TO DATETIME SET @TW_FROM = '2015-11-16 00:00:00'; SET @TW_TO = '2015-11-16 00:00:00';
答案 0 :(得分:1)
您还可以使用-v选项设置脚本中存在的脚本变量。在以下脚本中(文件名为testscript.sql),ColumnName是一个脚本变量。
USE AdventureWorks2012;
SELECT x.$(ColumnName)
FROM Person.Person x
WHERE c.BusinessEntityID < 5;
然后,您可以使用-v选项指定要返回的列的名称:
sqlcmd -v ColumnName ="FirstName" -i c:\testscript.sql
要使用相同的脚本返回其他列,请更改ColumnName脚本变量的值。
sqlcmd -v ColumnName ="LastName" -i c:\testscript.sql
更多文档: https://msdn.microsoft.com/en-us/library/ms188714.aspx