【发布时间】:2019-10-04 13:53:38
【问题描述】:
我目前正在尝试在 Oracle SQL 上执行以下代码:
INSERT INTO author (totalrevenue)
SELECT NVL (margin, 0)
FROM (SELECT a.author_Fname, a.author_lname, SUM (b.totalmargin) as margin
FROM author a LEFT JOIN bookauthor ba ON a.author_id = ba.ba_authorid
LEFT JOIN book b ON ba.ba_isbn = b.book_isbn
GROUP BY a.author_fname, a.author_lname);
SELECT 查询返回一列 14 个非空值,通过使用 NVL 实现。
但是,当我一起执行INSERT 查询时,我仍然得到:“ORA-01400: cannot insert NULL into ("IT337052"."AUTHOR"."AUTHOR_ID")" 错误使用 SELECT 查询。
有什么想法吗?
【问题讨论】:
-
但是您没有为 AUTHOR_ID 列提供任何值...
-
你应该做
UPDATE,而不是INSERT,因为作者已经存在于表中!
标签: php sql oracle datatable insert