【问题标题】:Can you insert with a mix of of subquery and values?你可以插入子查询和值的混合吗?
【发布时间】:2013-07-19 06:19:15
【问题描述】:

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

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 命令,反之亦然。有人有这方面的经验吗?

【问题讨论】:

    标签: sql oracle plsql plsqldeveloper


    【解决方案1】:

    是的,但您只能使用select

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

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

    【讨论】:

    • 如果我的值(value1、value2、value3)是 IN 变量并且我的 testdata 是多行多列子查询,这会起作用吗?
    • @user2600900 。 . .是的,是的。
    【解决方案2】:

    使用 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 ......
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-24
      • 2013-04-13
      • 1970-01-01
      • 1970-01-01
      • 2012-05-17
      • 1970-01-01
      相关资源
      最近更新 更多