Хранимая процедура с дополнительным выводом - PullRequest
0 голосов
/ 03 марта 2020

Я обновляю хранимую процедуру, которая проверяет наличие локального файла, используя строку в качестве входных данных. Он используется в качестве проверки работоспособности для некоторых пакетов служб SSIS. Единственный вывод, который он выдает, заключается в том, не удается ли найти файл, и в этом случае он возвращает ошибку SQL.

Процедура может обрабатывать символы подстановки, поэтому Я думал о расширении процедуры для возврата имени файла, который он находит (и новой ошибки, если он получает несколько возвращений), что было бы полезно для работы с пакетами, которые изменяют имена файлов, но используют плоские соединители файлов. Добавление выходного параметра в процедуру означает, что вы не можете использовать процедуру, если не объявите переменную для хранения выходных данных.

Есть ли способ структурировать процедуру так, чтобы она выдавала выходные данные только в том случае, если указывает, что они хотят, чтобы указанный вывод?

1 Ответ

3 голосов
/ 03 марта 2020
CREATE PROC dbo.MySP @i1 INT
    ,@i2 INT = NULL OUTPUT
AS
BEGIN
    SELECT 1
END
GO

EXEC dbo.MySP 1
GO

DECLARE @i INT

EXEC dbo.MySP 1
    ,@i OUTPUT
GO

DECLARE @i INT

EXEC dbo.MySP 1
    ,@i
GO
...