Действительно ли возможно проигнорировать выходной параметрический усилитель хранимой процедуры?

разрешить доступ к статическим файлам, просто добавьте эту строку в ваш файл startup.cs в методе Configure:

app.UseStaticFiles();
7
задан Jeroen 3 June 2015 в 06:50
поделиться

4 ответа

Можно просто использовать ПУСТОЙ УКАЗАТЕЛЬ в качестве последнего параметра, и он должен хорошо работать - пока тот параметр не ожидается для входной логики в proc также.

В Вашем случае Вы назвали бы proc как

exec mystoredproc @in_param_1, @in_param2_, @param1 OUTPUT, null

Вот является другой пример этим для того же сценария...

create proc MyTempProc
    (@one int,
    @two int out,
    @three int out)
AS
begin

    set @two = 2
    set @three = 3

    select @one as One

end
go

declare @p1 int,
        @p2 int

set     @p1 = 1

exec MyTempProc @p1, @p2 out, null 

print @p1
print @p2
6
ответ дан 7 December 2019 в 01:27
поделиться

Выходной параметр должен иметь значение по умолчанию для Вас для не передачи его. Посмотрите ниже

create proc x (@in int = null, @out int = null OUTPUT)
as 
Begin
    Select @in
End

exec x 1

Править

Для разъяснения немного ошибка возвращается, потому что хранимая процедура, которую называют, имеет определенный параметр (в этом случае @param1), для которого не определяется никакое значение по умолчанию. (т.е. @param1 интервал, а не @param интервал =-1) В случае, где ни один параметр или значение по умолчанию не указан для определенного параметра хранимой процедуры при назывании хранимой процедуры ошибкой, произойдет. То же самое произошло бы, если Вы усталый для исключения входного параметра, который не имеет значения по умолчанию указанным.

4
ответ дан 7 December 2019 в 01:27
поделиться

Необходимо будет, вероятно, просто проигнорировать ВЫХОДНОЙ параметрический усилитель сами, просто ничего не делая со значением. Это не похоже на издержки той переменной, проблема или что-либо. Единственная проблема здесь - то, что Ваш код будет немного более ужасным. Так хлопните комментарий, там объяснив, что ВЫХОДНОЙ параметрический усилитель не используется, и все должно быть в порядке.

0
ответ дан 7 December 2019 в 01:27
поделиться

Если SP, который Вы называете, ожидает, что параметр будет передан, у Вас должен быть тот там. Даже при игнорировании вывода его это - часть структуры SP.

Думайте о параметрах как о "Контракте Данных". Если они не приняты значение по умолчанию, они требуются. Даже если значения игнорируются.

Принуждение Вас объявить фиктивное значение, которое Вы никогда не будете читать, является стоимостью вызова, который сохранил proc, который может использоваться чем-то, что ДЕЙСТВИТЕЛЬНО должно использовать значение выходного параметра.

0
ответ дан 7 December 2019 в 01:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: