Вызов sql скрипта с использованием bat файла - PullRequest
0 голосов
/ 29 мая 2020

Необходимо использовать файл 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

1 Ответ

1 голос
/ 29 мая 2020

вы можете создать хранимую процедуру и вызвать ее через sqlcmd из файла bat. например:

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>
...