我正在使用Oracle 12c。 将其放入存储过程后,我无法执行存储过程,它引发了如下ORA-01400错误:
ORA-01400:无法将NULL插入(“ PRODUCT”。“ My_table”。“ ID”)
*原因:试图将NULL插入先前列出的对象中。
*操作:这些对象不能接受NULL值。
但是当我取出它并执行insert语句时,它就起作用了。有人可以帮我解释一下吗?
将我的代码放在SP中:
$agreement = new Agreement();
try {
$agreement->execute($token, $this->apiContext);
} catch (PayPal\Exception\PayPalConnectionException $ex) {
echo $ex->getCode(); // Prints the Error Code
echo $ex->getData(); // Prints the detailed error message
die($ex);
} catch (Exception $ex) {
die($ex);
}
这是我的脚本创建表
BEGIN
INSERT INTO Product.My_table(Code,time,sub,date,owner,type)
SELECT Code ,time,sub,SYSTIMESTAMP,p_UpdateBy,1 FROM Product.My_table2 WHERE ACTIVE=1
AND Code NOT IN(SELECT time FROM Product.My_table P WHERE sub = v_ID AND Type=1)
ORDER BY Code ASC;
COMMIT;
END;
谢谢。