另外,SqlCmd 支持 T-SQL 语法文件包容变量,让你可以有弹性地重复使用 T-SQL 语法文件,这是以往 osql 工具程序办不到的。在 T-SQL 语法文件中可以下述的格式定义变量:
$(变量名称)
我们写一段简单的 T-SQL 语法如下,其中定义了两个变量 colname 和 tabname:
USE Northwind
SELECT $(colname)
FROM $(tabname)
另外用 Windows 命令底层(Command Shell)的指令语法编写批次文件来测试,范例程序代码2-4所示:
程序代码列表 2-4 通过底层的指令语法编写批次文件测试 SqlCmd 工具程序
@ECHO OFF
CLS
@ECH通过以下的 SqlCmd 选项执行
@ECHO i 输入 sql 文件名
@ECHO o 输出结果文件名
@ECHO 设置参数内容
@ECHO E 综合式验证登录
@ECHO 设置服务实例
@ECHO __________________________________________________
IF DEFINED Instance GOTO Instance
@ECHO ------------连接到本机默认实例--------------
@ECHO sqlcmd -isqlcmd.sql -oCustomers.log -vcolname=“CompanyName,ContactName” tabname=“Customers” -E
sqlcmd -isqlcmd.sql -oCustomers.log -vcolname=“CompanyName,ContactName” tabname=“Customers” -E
@ECHO ERRORLEVEL: %ERRORLEVEL%