你可以插入子查询和值的混合?

时间:2013-07-19 20:30:28

标签: sql oracle plsql plsqldeveloper

我有一个从我们的应用程序接收一些值的过程,我需要将这些静态值和子查询的结果插入到我们的一个表中。这可能是一个插入语句吗?所以它看起来像这样

Insert into table
values 
(value1, value2, value3, (select testdata from dual));

The resulting table would look like:
value1 | value2 | value 3 | ROW 1 FROM SUBQUERY
value1 | value2 | value 3 | ROW 2 FROM SUBQUERY

我知道如果我只使用子查询,我会省略values命令,反之亦然。有没有人有这方面的经验?

2 个答案:

答案 0 :(得分:3)

是的,但只能使用select

Insert into table
    select value1, value2, value3, testdata
    from dual;

也就是说,您将值作为常量添加到select行。

答案 1 :(得分:0)

使用INSERT INTO tablename SELECT xxx FROM命令。

INSERT INTO tablename ( col1, col2, ... colN)
-- select rows from first subquery
SELECT x1, x2, ... xN FROM ......
UNION ALL
-- select rows from second subquery
SELECT y1, y2, ... yN FROM ......