我正在尝试使用从另一个表派生的值向表中插入一行。这是我尝试使用的SQL语句:
INSERT INTO NextKeyValue(KeyName, KeyValue) SELECT 'DisplayWorkItemId' AS KeyName, (MAX(work_item_display_id) + 1) AS KeyValue FROM work_item;
所以,我试图在NextKeyValue
中创建一个'KeyName'为'DisplayWorkItemId'和'KeyValue'的行,其行数超过work_item.work_item_display_id
中的最大值。
当我自己运行它时,上面查询中的SELECT语句返回预期的结果。
但是整个SQL查询给出了以下错误:
错误:DB2 SQL错误:SQLCODE = -407, SQLSTATE = 23502,SQLERRMC = TBSPACEID = 2, TABLEID = 75,COLNO = 2,DRIVER = 3.50.152 SQLState:23502 ErrorCode:-407
这是什么意思,我的查询有什么问题?
答案 0 :(得分:15)
最可能的解释是,NextKeyValue表中有其他列不能接受NULL值,而这个INSERT语句正在“尝试”将NULL放入其中。
是不是这样的情况?