IBM DB2 SQLCODE -407
例如:正要插入或者新增一條記錄, 記錄的某個欄位為NULL,但資料庫不允許這個欄位為NULL,就會丟擲407錯誤。
可以根據COLNO去查詢哪個值出錯。
例如:
NULL value to a NOT NULL column "TBSPACEID=23, TABLEID=3, COLNO=1" is not allowed.. SQLCODE=-407, SQLSTATE=23502, DRIVER
-407
AN UPDATE, INSERT, OR SET VALUE IS NULL, BUT THE OBJECT COLUMN column-name CANNOT CONTAIN NULL VALUES
Explanation
One of the following conditions occurred:
• A null insert or update value was specified for a column defined as NOT NULL.
• A SET transition variable statement specified a NULL value for column defined as NOT NULL without the WITH DEFAULT clause in the table definition.
• The update or insert value was DEFAULT, but the object column was declared as NOT NULL without WITH DEFAULT in the table definition. Consequently:
o A default value of NULL cannot be inserted into that column.
o An update cannot set default values of NULL in that column.
o A SET transition variable statement in a trigger cannot set default values of NULL in that column.
• The column name list for the INSERT statement omits a column declared NOT NULL and without WITH DEFAULT in the table definition.
• The view for the INSERT statement omits a column declared NOT NULL and without WITH DEFAULT in the base table definition.
• A null insert value was specified for a ROWID column.
System action
The statement cannot be processed. The 'column-name' might be returned in the SQLCA, depending on the syntax of the SQL statement in which the error was detected.
Programmer response
Examine the definition of the object table to determine which columns of the table have the NOT NULL attribute or have a type of ROWID, and correct the SQL statement accordingly.
SQLSTATE
23502