使用bat文件调用sql脚本
Posted
技术标签:
【中文标题】使用bat文件调用sql脚本【英文标题】:Call sql script using bat file 【发布时间】:2020-09-16 23:18:00 【问题描述】:需要用bat文件调用sql脚本,传入两个变量,但是sql报错。要求声明标量。
这是 bat 文件本身。
@ECHO OFF
echo SET @arg1 := %2, @arg2 := %3; > commands
copy /b commands + %1 + %2 > nul
"C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\sqlcmd.exe" -S DESKTOP-OQ8JGR5 -U SA -P 123 -i %1
还有sql脚本。
USE MVA
SELECT sum(number*price2 - number*price1) AS pribil FROM sale,goods
WHERE id=goods AND datepart(month, date)=@arg1 AND shop=@ar2
【问题讨论】:
今日提示:始终使用现代、明确的JOIN
语法。更容易编写(没有错误),更容易阅读和维护,如果需要更容易转换为外连接!
我们的作业是这样的:(
2020年……我震惊了……
这是一所俄罗斯大学。残酷无情。
在命令提示符窗口中输入 set /?
和 copy /?
并学习正确的语法...
【参考方案1】:
您可以创建一个存储过程并通过 bat 文件中的 sqlcmd 调用它。例如:
create procedure [SP_count_up]
(
@input int
)
as
begin
select @input + 1
end
go
并通过在你的 bat 文件中调用它
sqlcmd -Q "exec dbo.SP_count_up @input=3" -S <server> -d <database>
【讨论】:
以上是关于使用bat文件调用sql脚本的主要内容,如果未能解决你的问题,请参考以下文章
怎么用批处理*.bat 执行文件目录下面的SQL语句脚本(批量的)