У меня есть хранимая процедура, которая содержит множество входных и выходных параметров, потому что это Вставка значений в несколько таблиц. В некоторых случаях хранимая процедура только вставляет в одну таблицу (в зависимости от входных параметров). Вот иллюстративный пример.
Таблицы/Объекты данных:
Person
Id
Name
Address
Имя
Id
FirstName
LastName
Адрес
Id
Country
City
Скажем, у меня есть хранимая процедура, которая вставляет человека. Если адрес не существует, я не буду добавлять его в таблицу Address
в базе данных.
Таким образом, когда я генерирую код для вызова хранимой процедуры, я не хочу беспокоиться о добавлении параметра Address
. Для параметров INPUT
это нормально, потому что SQL Server позволяет мне устанавливать значения по умолчанию. Но для параметра OUTPUT
, что я делаю в хранимой процедуре, чтобы сделать его необязательным, поэтому я не получаю сообщение об ошибке...
Процедура или функция 'Person_InsertPerson' ожидает параметра '@AddressId', который не был предоставлен.