【发布时间】:2020-04-03 14:29:50
【问题描述】:
不管我如何写这个语句,我总是得到 ORA-00928 missing select keyword 错误。
我正在尝试将查询中的值插入到表中。查询的结果与需要插入的表具有相同数量的列。我曾尝试将其作为 CTE。即使是来自现有表的选择查询也会返回相同的错误。
代码如下:
WITH FIRST_CTE(FrstCol1,FrstCol2)
AS
(
SELECT 't', '1' from dual UNION ALL
SELECT 's', '2' from dual
)
,
SECOND_CTE(SndCol1,SndCol2)
AS
(
SELECT 't', '3' from dual UNION ALL
SELECT 'z', '4' from dual
)
INSERT INTO TABLE_1
SELECT *
from
(SELECT * FROM FIRST_CTE) A
JOIN
(SELECT * FROM SECOND_CTE) B
ON A.FrstCol1 = B.SndCol1
;
有什么建议吗?
【问题讨论】:
-
您问题中的代码看起来不错。
-
table_a 中有多少列?
-
您是将其输入到工具中还是来自脚本文件?如果是脚本文件,请检查行终止符(例如,在 Linux 上运行脚本时您有 CRLF 行终止符)。
-
你确定table_a和table_b的名字不是保留字吗?
-
这是实际的SQL语句,还是真正的复杂?
标签: sql oracle sql-insert