仅使用批处理文件插入SQL查询

时间:2017-09-19 17:22:34

标签: sql sql-server batch-file sql-insert

是否可以通过批处理文件将 插入数据连接到本地SQL Server表。

该表在数据库中看起来像ID | compName | availDiskSpace

例如,这将保留计算机上的本地计算机名称和可用空间。

@echo off 
set computerName = computer123 
set diskSpace = 2GB
sqlcmd -S server1\SQLExpress 

是否可以使用INSERT将这些变量插入到SQL表中,我知道我可以使用SELECT来选择数据,但是在显示INSERT的任何地方都可以查看 .....由于

1 个答案:

答案 0 :(得分:1)

使用sqlcmd的-v参数分配变量。例如:

sqlcmd -S "server1\SQLExpress" -v diskSpace = "2GB" -v computerName = "Computer123" -q "insert into myTable (diskSpace, computerName) select '$(diskSpace)', '$(computerName)'"

您使用-v声明变量,并使用$(<VariableName)

引用它们

SQLCMD的更多详情:https://docs.microsoft.com/en-us/sql/tools/sqlcmd-utility

我相信放入批处理脚本应该没问题,但我想你也可以设置批处理变量(正如你所做的那样)并将它们分配为sqlcmd变量的值。

FWIW,使用SSMS和/或存储过程可能要容易得多。