Синтаксис SELECT INTO для Snowflake Datawarehouse

Я считаю, что в Snowflake есть SELECT INTO-подобный синтаксис, но я не могу найти документацию или примеры для его использования.

CREATE TABLE raw_data (
    Timestamp TIMESTAMP NOT NULL, 
    Date DATE NOT NULL, 
    UserID STRING,
    Address STRING,
    Phone STRING,
    Value INTEGER
);

COPY INTO raw_data from 's3://my_bucket'
CREDENTIALS=(AWS_KEY_ID='XXXXX' AWS_SECRET_KEY='XXXX')
ON_ERROR=CONTINUE;

CREATE TABLE summary (
    Date DATE NOT NULL,
    UserID STRING,
    Value INTEGER
);

INSERT INTO summary 
SELECT Date, UserID, Value FROM raw_data

Вышеупомянутое работает, но вместо определения таблицы summary я хочу SELECT INTO, чтобы синтаксический анализатор SQL создал таблицу для меня.


person Kirk Broadhurst    schedule 08.11.2015    source источник
comment
create table summary as select ... будет стандартным SQL   -  person a_horse_with_no_name    schedule 09.11.2015
comment
Вот это да. У них действительно есть сайт без документации, не так ли?   -  person Matt Gibson    schedule 09.11.2015
comment
@MattGibson Внутри инструмента есть документация. Я думаю, что они только недавно начали открываться для более широкой клиентской базы.   -  person Kirk Broadhurst    schedule 09.11.2015


Ответы (3)


Для этого можно использовать Create Table AS (CTAS). В вашем случае это будет:

CREATE TABLE SUMMARY AS
SELECT
  Date
, UserID
, Value
FROM
  raw_data;

Вот пример, не использующий данные, которые я тестировал:

create table foo as select $1, $2
from

    values ( 1, 'two' ), ( 3, 'four' ), ( 5, 'six' );

    select * from foo;

Надеюсь это поможет!

person Mark Weaver    schedule 28.01.2016

СОЗДАТЬ Сводку ТАБЛИЦЫ КАК ВЫБРАТЬ Дата, ID пользователя, значение ИЗ raw_data

person Andrés Castrillo    schedule 24.04.2020

Вы также можете использовать стандартную номенклатуру "WITH AS":

    with a as (
        SELECT
        Date
        ,UserID
        ,Value
        FROM
        raw_data)
    SELECT * FROM a
person Alex Cook    schedule 10.09.2019
comment
Дам вам CTE. - person RagePwn; 20.05.2021
comment
Вы правы ... теперь я понимаю, почему люди голосуют против :) - person Alex Cook; 21.05.2021