SQLCMD 传入变量
SQLCMD Passing in Variables
我有一个运行多个 *.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';
您还可以使用 -v 选项设置脚本中存在的脚本变量。在以下脚本中(文件名为testscript.sql),ColumnName 是一个脚本变量。
USE AdventureWorks2012;
SELECT x.$(ColumnName)
FROM Person.Person x
WHERE c.BusinessEntityID < 5;
然后您可以使用 -v 选项指定您想要 returned 的列的名称:
sqlcmd -v ColumnName ="FirstName" -i c:\testscript.sql
要使用同一脚本return 不同的列,请更改 ColumnName 脚本变量的值。
sqlcmd -v ColumnName ="LastName" -i c:\testscript.sql
更多文档:
https://msdn.microsoft.com/en-us/library/ms188714.aspx
我有一个运行多个 *.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';
您还可以使用 -v 选项设置脚本中存在的脚本变量。在以下脚本中(文件名为testscript.sql),ColumnName 是一个脚本变量。
USE AdventureWorks2012;
SELECT x.$(ColumnName)
FROM Person.Person x
WHERE c.BusinessEntityID < 5;
然后您可以使用 -v 选项指定您想要 returned 的列的名称:
sqlcmd -v ColumnName ="FirstName" -i c:\testscript.sql
要使用同一脚本return 不同的列,请更改 ColumnName 脚本变量的值。
sqlcmd -v ColumnName ="LastName" -i c:\testscript.sql
更多文档: https://msdn.microsoft.com/en-us/library/ms188714.aspx