【问题标题】:How to save data after using With Clause?使用With Clause后如何保存数据?
【发布时间】:2020-03-04 18:08:09
【问题描述】:

我想在 With Clause 之后保存我拥有的数据。可能会保存到 TEMP 表或其他一些数据集中。

WITH TASKLIST AS
 (SELECT * FROM IC_V_NEWSKUSTASKLIST WHERE MSTID IS NULL),
RESULTS AS
 (SELECT *
    FROM ICTASK
    LEFT JOIN TASKLIST
      ON ICTASK.SOURCETABLEID = TASKLIST.SOURCETABLEID)
SELECT * FROM RESULTS;

我想将 RESULTS 数据保存到其他表中以代替 SELECT 它们,但是在 WITH 子句之后必须选择语句。

【问题讨论】:

  • 这能回答你的问题吗? Select into a temporary table in Oracle
  • 不,它没有解决我的问题
  • SELECT 语句允许重定向输出有什么问题?
  • MySQL 和 Oracle 是不同的数据库管理系统。只标记其中一个(PLSQL 确实建议 Oracle)。

标签: sql oracle


【解决方案1】:

CTAS (Create Table As Select) 是一种选择:

SQL> create table test as
  2    with
  3    tasklist as
  4      (select deptno, empno, ename, job, sal
  5       from emp
  6      ),
  7    results as
  8      (select d.dname, t.deptno, t.ename
  9       from tasklist t join dept d on d.deptno = t.deptno
 10       where t.deptno = 10
 11      )
 12    select * from results;

Table created.

SQL> select * from test;

DNAME              DEPTNO ENAME
-------------- ---------- ----------
ACCOUNTING             10 CLARK
ACCOUNTING             10 KING
ACCOUNTING             10 MILLER

SQL>

【讨论】:

    猜你喜欢
    • 2017-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-17
    • 1970-01-01
    相关资源
    最近更新 更多