我有一个存储过程,它有一堆输入和输出参数,因为它是向多个表插入值。在某些情况下,存储的 proc 只插入单个表(取决于输入参数)。下面是一个模拟的场景来说明。
表格/数据对象:
人
Id
Name
Address
姓名
Id
FirstName
LastName
地址
Id
Country
City
假设我有一个存储过程,它插入一个人。如果地址不存在,我不会将它添加到数据库中的 Address
表中。
因此,当我生成调用存储过程的代码时,我不想添加 Address
参数。对于 INPUT
参数,这是可以的,因为 SQLServer 允许我提供默认值。但是对于 OUTPUT
参数,我在存储过程中如何使它成为可选的,以便不会收到错误..。
过程或函数“ Person _ InsertPerson”期望参数 “@AddressId”,未提供。