使用bat文件调用sql脚本

gywdnpxw  于 2021-08-13  发布在  Java
关注(0)|答案(1)|浏览(456)

有必要使用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
nhaq1z21

nhaq1z211#

您可以创建一个存储过程,并从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>

相关问题