【发布时间】:2019-08-31 04:58:59
【问题描述】:
我有一个非常简单的存储过程,当两个参数都是从表单输入发送的值时,它目前可以完美运行。
但是,如果 IN_NUMBER 值为空,我需要弄清楚如何处理,因为目标表中的该列设置为可为空。似乎该过程本身只是失败了,因为它正在等待一个值。
我应该改变什么?
输入参数:
IN_NAME
IN_NUMBER
例行公事:
P1 : BEGIN ATOMIC
INSERT INTO schema . postings
( name
, postNumber)
VALUES
( IN_NAME
, IN_NUMBER) ;
END P1
【问题讨论】:
-
我不懂DB2,但你不能在过程中默认参数为
NULL吗? -
我相信这实际上适用于 db2
-
你是如何调用程序的?你得到什么错误?您想要接受 NULL 吗?
-
@IanBjorhovde 我只是得到一个一般的 500,因为它期望一个整数并得到一个空值,但是是的,我确实想接受空值,因为它并不总是必需的
-
不存在“general 500”这样的db2错误。运行时遇到什么 db2 错误,比如说像
call myproc(‘myname’, null)这样的 db2 语句?
标签: sql stored-procedures db2