【问题标题】:INSERT SQL query with Batch File only仅使用批处理文件插入 SQL 查询
【发布时间】:2017-09-19 17:22:33
【问题描述】:

有没有办法通过批处理文件将和 插入数据连接到本地 SQL Server 表。

该表在数据库中的样子,ID |公司名称 |可用磁盘空间

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

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

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

【问题讨论】:

  • 从什么来源插入?

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


【解决方案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 和/或存储过程可能更容易做到这一点。

【讨论】:

  • 感谢 Xedni,现在说得通了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多