Я пытаюсь запустить эту хранимую процедуру, но она запускает только первую команду, хотя я могу без проблем запустить скрипт вне хранимой процедуры
exec GetStoreTransfers '010203','010304'
, но она только возвращает результат первой команды:
output
----------------------------------------------------------------------------------------------------
1 file(s) copied.
NULL
(2 row(s) affected)
(0 row(s) affected)
Это хранимая процедура, но выполняется только первая команда:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[GetStoreTransfers]
(@fromdate nvarchar(8),
@todate nvarchar(8))
AS
DECLARE @from nvarchar(8)
DECLARE @to nvarchar(8)
DECLARE @to_ nvarchar(16)
DECLARE @from_ nvarchar(16)
DECLARE @cmdcopy nvarchar(1000)
DECLARE @command nvarchar(max)
SET @from = @fromdate
SET @to = @todate
SET @from_ = LEFT(CONVERT(char(16), CAST(@from AS date), 105), 5)
SET @to_ = LEFT(CONVERT(char(16), CAST(@to AS date), 105), 5)
SELECT @cmdcopy = /* a specific string*/
SELECT @command = /* a set of commands*/
exec xp_cmdshell @cmdcopy
exec sp_executesql @command
Результат всего запроса без использования хранимой процедуры выглядит следующим образом
output
--------------------------------------------------------------------------------------------------------
1 file(s) copied.
NULL
(2 row(s) affected)
(23654 row(s) affected)
Пожалуйста, помогите мне преодолеть эту проблему, я не хочу использовать SQL Работа, это более простой обходной путь, но это не то, что я хочу.