Oracle создать таблицу, используя предложение - PullRequest
24 голосов
/ 25 марта 2011

Можно ли создать таблицу из запроса, сформированного с помощью предложения with?

Ответы [ 2 ]

50 голосов
/ 25 марта 2011

Конечно:

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
1 голос
/ 02 марта 2018

Оператор CREATE TABLE table_name AS создает таблицу на основе оператора выбора.Решение для предложения с будет:

CREATE TABLE t
AS 
SELECT * FROM (
WITH some_data AS ( 
   SELECT 1 as some_value 
   FROM dual

   UNION ALL 

   SELECT 2 
   FROM dual
) 
);
...