我目前正在将3个值传递到我的存储过程中以便运行它。但是我的存储过程包含5个参数。只是想知道我需要传递所有5个值才能使它工作或3个会做什么?
我也面临这个问题
想知道这个错误是否是由于我将NULL值传递到我的存储过程中引起的?提前谢谢。
以下是我的存储过程中所要求的定义:
create or replace procedure upd_pre_proc_card
(prodOrderNo in varchar2,
userId in varchar2,
poDate in varchar2, /* poDate = 'yyyy-mm-dd' */
orderType in varchar2,
printOption in number)
答案 0 :(得分:0)
在您的方案(您提供的存储过程)中,是的,您需要提供所有参数。我相信在Oracle中,您可以为参数指定默认值,例如:
create or replace procedure upd_pre_proc_card
(prodOrderNo in varchar2,
userId in varchar2,
poDate in varchar2 default null, /* is optional now */
orderType in varchar2,
printOption in number)
答案 1 :(得分:0)
这可能是因为null值或null值被错误地传递到存储过程继承人如何在将每个值赋值给参数之前检查每个值。
if (String.IsNullOrWhiteSpace(orderType))
{
Parameters.Add([AddYourValuesHere).Value = DBNull.Value;
}
else
{
Parameters.Add([AddYourValuesHere]).Value = orderType;
}