Oracle create table using with clause

后端 未结 3 771
不知归路
不知归路 2021-02-01 03:32

Can I create a table from a query formed using with clause?

相关标签:
3条回答
  • 2021-02-01 03:46

    For multiple CTE (common table expressions; i.e. multiple WITH clause), I found the same syntax worked. i.e.

    
    CREATE TABLE schema.table_name as 
    WITH table1 as (SELECT 1),
    table2 as (SELECT 2)
    
    select * from table2
    
    

    will create the table_name in the schema from the select statement

    0 讨论(0)
  • 2021-02-01 03:59

    Sure:

    CREATE TABLE t
    AS 
    WITH some_data AS ( 
       SELECT 1 as some_value 
       FROM dual
    
       UNION ALL 
    
       SELECT 2 
       FROM dual
    ) 
    SELECT * 
    FROM some_data
    
    0 讨论(0)
  • 2021-02-01 04:06

    The CREATE TABLE table_name AS statement creates a table based on a select statement. The solution for a with clause will be :

    CREATE TABLE t
    AS 
    SELECT * FROM (
    WITH some_data AS ( 
       SELECT 1 as some_value 
       FROM dual
    
       UNION ALL 
    
       SELECT 2 
       FROM dual
    ) 
    );
    
    0 讨论(0)
提交回复
热议问题