SnowConvert: Instruções Redshift SQL para CREATE TABLE

CREATE TABLE

Descrição

Cria uma nova tabela no banco de dados atual. Você define uma lista de colunas, cada uma contendo dados de um tipo distinto. O proprietário da tabela é o emissor do comando CREATE TABLE.

Para obter mais informações, consulte a documentação CREATE TABLE.

Sintaxe da gramática

 CREATE [ [LOCAL ] { TEMPORARY | TEMP } ] TABLE
[ IF NOT EXISTS ] table_name
( { column_name data_type [column_attributes] [ column_constraints ]
  | table_constraints
  | LIKE parent_table [ { INCLUDING | EXCLUDING } DEFAULTS ] }
  [, ... ]  )
[ BACKUP { YES | NO } ]
[table_attributes]

where column_attributes are:
  [ DEFAULT default_expr ]
  [ IDENTITY ( seed, step ) ]
  [ GENERATED BY DEFAULT AS IDENTITY ( seed, step ) ]
  [ ENCODE encoding ]
  [ DISTKEY ]
  [ SORTKEY ]
  [ COLLATE CASE_SENSITIVE | COLLATE CASE_INSENSITIVE  ]

and column_constraints are:
  [ { NOT NULL | NULL } ]
  [ { UNIQUE  |  PRIMARY KEY } ]
  [ REFERENCES reftable [ ( refcolumn ) ] ]

and table_constraints  are:
  [ UNIQUE ( column_name [, ... ] ) ]
  [ PRIMARY KEY ( column_name [, ... ] )  ]
  [ FOREIGN KEY (column_name [, ... ] ) REFERENCES reftable [ ( refcolumn ) ]


and table_attributes are:
  [ DISTSTYLE { AUTO | EVEN | KEY | ALL } ]
  [ DISTKEY ( column_name ) ]
  [ [COMPOUND | INTERLEAVED ] SORTKEY ( column_name [,...]) |  [ SORTKEY AUTO ] ]
  [ ENCODE AUTO ]
         
Copy

Início da tabela

BACKUP

Descrição

Permite que o Amazon Redshift ajuste automaticamente o tipo de codificação de todas as colunas da tabela para otimizar o desempenho da consulta. No Snowflake, o conceito de BACKUP, como visto em outros bancos de dados, não é diretamente aplicável. O Snowflake lida automaticamente com o backup e a recuperação de dados por meio de seus recursos integrados, como Time Travel e Fail-safe, eliminando a necessidade de operações manuais de backup. Por esses motivos, a instrução BACKUP é removida durante o processo de transformação

Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.

Sintaxe da gramática

 BACKUP { YES | NO }
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    col1 INTEGER
)
BACKUP YES;
Copy
Código de saída:
 CREATE TABLE table1 (
    col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

IF NOT EXISTS

Descrição

No Amazon Redshift, IF NOT EXISTS é usado em comandos de criação de tabelas para evitar erros se a tabela já existir. Quando incluída, ela garante que a tabela seja criada somente se ainda não existir, evitando duplicação e erros no script SQL.

Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.

Sintaxe da gramática

 IF NOT EXISTS
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE IF NOT EXISTS table1 (
    col1 INTEGER
);
Copy
Código de saída:
 CREATE TABLE IF NOT EXISTS table1 (
    col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}';
Copy

EWIs relacionados

Não há problemas conhecidos.

LOCAL

Descrição

No Amazon Redshift, LOCAL TEMPORARY ou TEMP são usados para criar tabelas temporárias que existem apenas durante a sessão. Essas tabelas são específicas da sessão e são automaticamente excluídas quando a sessão termina. Eles são úteis para armazenar resultados intermediários ou dados de trabalho sem afetar o esquema permanente do banco de dados.

Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.

Sintaxe da gramática

 LOCAL { TEMPORARY | TEMP }
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE LOCAL TEMPORARY TABLE table1 (
    col1 INTEGER
);
Copy
Código de saída:
 CREATE LOCAL TEMPORARY TABLE table1 (
    col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}';
Copy

EWIs relacionados

Não há problemas conhecidos.

Restrições de tabela

FOREIGN KEY

Descrição

Restrição que especifica uma restrição de chave estrangeira, que exige que um grupo de uma ou mais colunas da nova tabela contenha apenas valores que correspondam a valores na coluna ou colunas referenciadas de alguma linha da tabela referenciada.

Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.

Aviso

A conversão para Foreign Key será entregue no futuro.

Sintaxe da gramática

 FOREIGN KEY (column_name [, ... ] ) REFERENCES reftable [ ( refcolumn )
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table15 (
    col1 INTEGER,
    FOREIGN KEY (col1) REFERENCES table_test (col1)
);
Copy
Código de saída:
 CREATE TABLE table15 (
    col1 INTEGER
--                ,
--    --** SSC-FDM-RS0003 - THE TRANSLATION FOR FOREIGN KEY IS NOT AVAILABLE, IT WILL BE PROVIDED IN THE FUTURE. **
--    FOREIGN KEY (col1) REFERENCES table_test (col1)
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/26/2024" }}';
Copy

EWIs relacionados

  • SSC-FDM-RSOOO3: A conversão de chave estrangeira terá suporte no futuro.

PRIMARY KEY

Descrição

Especifica que uma coluna ou um número de colunas de uma tabela pode conter apenas valores únicos e não nulos

Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.

Nota

No Snowflake, as chaves exclusivas, primárias e estrangeiras são usadas para documentação e não impõem restrições ou exclusividade. Eles ajudam a descrever as relações entre as tabelas, mas não afetam a integridade ou o desempenho dos dados.

Sintaxe da gramática

 PRIMARY KEY ( column_name [, ... ] )
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    col1 INTEGER, 
    col2 INTEGER,
    PRIMARY KEY (col1)
);
Copy
Código de saída:
 CREATE TABLE table1 (
    col1 INTEGER,
    col2 INTEGER,
    PRIMARY KEY (col1)
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs relacionados

Não há problemas conhecidos.

UNIQUE

Descrição

Especifica que um grupo de uma ou mais colunas de uma tabela pode conter apenas valores exclusivos.

Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.

Nota

No Snowflake, as chaves exclusivas, primárias e estrangeiras são usadas para documentação e não impõem restrições ou exclusividade. Eles ajudam a descrever as relações entre as tabelas, mas não afetam a integridade ou o desempenho dos dados.

Sintaxe da gramática

 UNIQUE ( column_name [, ... ] )
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    col1 INTEGER, 
    col2 INTEGER,
    UNIQUE ( col1, col2 )
);
Copy
Código de saída:
 CREATE TABLE table1 (
    col1 INTEGER,
    col2 INTEGER,
    UNIQUE ( col1, col2 )
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs relacionados

Não há problemas conhecidos.

Restrição de coluna

NOT NULL | NULL

Descrição

NOT NULL especifica que a coluna não pode conter valores nulos. NULL, o padrão, especifica que a coluna aceita valores nulos.

Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.

Sintaxe da gramática

 NOT NULL | NULL
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    col1 INTEGER NOT NULL, 
    col2 INTEGER NULL
);
Copy
Código de saída:
 CREATE TABLE table1 (
    col1 INTEGER NOT NULL,
    col2 INTEGER NULL
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs relacionados

Não há problemas conhecidos.

REFERENCES

Descrição

Especifica uma restrição de chave estrangeira, o que implica que a coluna deve conter apenas valores que correspondam a valores na coluna referenciada de alguma linha da tabela referenciada

Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.

Sintaxe da gramática

 REFERENCES reftable [ ( refcolumn ) ]
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    col1 INTEGER REFERENCES table_test (col1)
);
Copy
Código de saída:
 CREATE TABLE table1 (
    col1 INTEGER REFERENCES table_test (col1)
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs relacionados

Não há problemas conhecidos.

UNIQUE | PRIMARY KEY

Descrição

Especifica que a coluna pode conter apenas valores exclusivos. No Snowflake, tanto UNIQUE quanto PRIMARY KEY são usados para documentar e estruturar dados, mas eles não têm a funcionalidade de validação de dados ativa no sentido que você poderia esperar em outros sistemas de banco de dados que impõem essas restrições no nível de armazenamento.

Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.

Nota

No Snowflake, as chaves exclusivas, primárias e estrangeiras são usadas para documentação e não impõem restrições ou exclusividade. Eles ajudam a descrever as relações entre as tabelas, mas não afetam a integridade ou o desempenho dos dados.

Sintaxe da gramática

 UNIQUE | PRIMARY KEY
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    col1 INTEGER PRIMARY KEY,
    col2 INTEGER UNIQUE
);
Copy
Código de saída:
 CREATE TABLE table1 (
    col1 INTEGER PRIMARY KEY,
    col2 INTEGER UNIQUE
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs relacionados

Não há problemas conhecidos.

Atributos da Coluna

COLLATE

Descrição

Especifica se a pesquisa ou comparação de strings na coluna é CASE_SENSITIVE ou CASE_INSENSITIVE.

Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.

Nota

O idioma de agrupamento padrão é o inglês. Se o seu banco de dados usar um idioma diferente, atualize o prefixo «en-» para que corresponda ao idioma do seu banco de dados. Para obter mais informações, consulte este link.

Sintaxe da gramática

 COLLATE CASE_SENSITIVE | COLLATE CASE_INSENSITIVE
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    col1 TEXT COLLATE CASE_SENSITIVE,
    col2 TEXT COLLATE CASE_INSENSITIVE
);
Copy
Código de saída:
 CREATE TABLE table1 (
    col1 TEXT COLLATE 'en-cs',
    col2 TEXT COLLATE 'en-ci'
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

Problemas conhecidos

Não há problemas conhecidos.

DEFAULT

Descrição

Atribui um valor de dados padrão para a coluna.

Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.

Sintaxe da gramática

 DEFAULT default_expr
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    col1 INTEGER DEFAULT 1
);
Copy
Código de saída:
 CREATE TABLE table1 (
    col1 INTEGER DEFAULT 1
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs relacionados

Não há problemas conhecidos.

DISTKEY

Descrição

No Amazon Redshift, o DISTKEY é usado para distribuir dados entre os nós do cluster para otimizar o desempenho da consulta. O Snowflake, no entanto, lida automaticamente com a distribuição e o armazenamento de dados sem precisar de chaves de distribuição explícitas. Devido às diferenças na arquitetura e nas abordagens de gerenciamento de dados, o Snowflake não tem um equivalente direto ao DISTKEY do Redshift. Por esses motivos, a instrução DISTKEY é removida durante o processo de transformação

Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.

Sintaxe da gramática

 DISTKEY
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    col1 INTEGER DISTKEY
);
Copy
Código de saída:
 CREATE TABLE table1 (
    col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs relacionados

Não há problemas conhecidos.

ENCODE

Descrição

A codificação de compressão de uma coluna. No Snowflake, a definição de ENCODE é desnecessária porque ele lida automaticamente com a compactação de dados, ao contrário do Redshift, que exige configurações manuais de codificação. Por esse motivo, a instrução ENCODE é removida durante a migração.

Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.

Sintaxe da gramática

 ENCODE encoding
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    col1 INTEGER ENCODE DELTA
);
Copy
Código de saída:
 CREATE TABLE table1 (
    col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs relacionados

Não há problemas conhecidos.

GENERATED BY DEFAULT AS IDENTITY

Descrição

Especifica que a coluna é uma coluna padrão IDENTITY e permite que você atribua automaticamente um valor exclusivo à coluna.

Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.

Sintaxe da gramática

 GENERATED BY DEFAULT AS IDENTITY ( seed, step )
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    col1 INTEGER GENERATED BY DEFAULT AS IDENTITY(1,1)
);
Copy
Código de saída:
 CREATE TABLE table1 (
    col1 INTEGER IDENTITY(1,1) ORDER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs relacionados

Não há problemas conhecidos.

IDENTITY

Descrição

Cláusula que especifica que a coluna é uma coluna IDENTITY. (Identidade de referência da linguagem RedShift SQL).

Sintaxe da gramática

 IDENTITY ( seed, step )
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    doc INTEGER,
    id1 INTEGER IDENTITY(1,1),
    id2 INTEGER  DEFAULT "identity"(674435, 0, ('5,3'::character varying)::text),
    id3 INTEGER  DEFAULT default_identity(963861, 1, '1,2'::text),
    id4 INTEGER  DEFAULT "default_identity"(963861, 1, '1,6'::text)
);

INSERT INTO table1 (doc) VALUES (1),(2),(3);

SELECT * FROM table1;
Copy

DOC

ID1

ID2

ID3

ID4

1

1

5

1

1

2

2

8

3

7

3

3

11

5

13

Código de saída:
 CREATE TABLE table1 (
    doc INTEGER,
    id1 INTEGER IDENTITY(1,1) ORDER,
    id2 INTEGER IDENTITY(5,3) ORDER,
    id3 INTEGER IDENTITY(1,2) ORDER,
    id4 INTEGER IDENTITY(1,6) ORDER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "12/04/2024",  "domain": "test" }}';

INSERT INTO table1 (doc) VALUES (1),(2),(3);

SELECT * FROM
 table1;
Copy

DOC

ID1

ID2

ID3

ID4

1

1

5

1

1

2

2

8

3

7

3

3

11

5

13

Problemas conhecidos

Não foram encontrados problemas.

EWIs relacionados

Não há problemas conhecidos.

SORTKEY

Descrição

A palavra-chave que especifica que a coluna é a chave de classificação da tabela. No Snowflake, o SORTKEY do Redshift pode ser migrado para o CLUSTER BY porque ambos otimizam o armazenamento de dados para o desempenho da consulta. O CLUSTER BY no Snowflake organiza os dados em colunas específicas, de forma semelhante a como o SORTKEY ordena os dados no Redshift.

Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.

Sintaxe da gramática

 SORTKEY
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    col1 INTEGER SORTKEY
);
Copy
Código de saída:
 CREATE TABLE table1 (
    col1 INTEGER
)
--** SSC-FDM-RS0002 - THE PERFORMANCE OF THE CLUSTER BY MAY VARY COMPARED TO THE PERFORMANCE OF SORTKEY **
CLUSTER BY (col1)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}';
Copy

Problemas conhecidos

  1. SSC-FDM-RS0002: O desempenho de CLUSTER BY pode variar em comparação com o desempenho de Sortkey ou Distkey.

Atributos da tabela

DISTKEY

Descrição

No Amazon Redshift, o DISTKEY é usado para distribuir dados entre os nós do cluster para otimizar o desempenho da consulta. O Snowflake, no entanto, lida automaticamente com a distribuição e o armazenamento de dados sem precisar de chaves de distribuição explícitas. Devido às diferenças na arquitetura e nas abordagens de gerenciamento de dados, o Snowflake não tem um equivalente direto ao DISTKEY do Redshift.

Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.

Sintaxe da gramática

 DISTKEY ( column_name )
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    col1 INTEGER
)
DISTKEY (col1);
Copy
Código de saída:
 CREATE TABLE table1 (
    col1 INTEGER
)
----** SSC-FDM-RS0001 - DISTKEY OPTION NOT SUPPORTED. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--DISTKEY (col1)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "03/03/2025",  "domain": "test" }}';
Copy

EWIs relacionados

  1. SSC-FDM-RS0001: Opção não suportada. O armazenamento de dados é tratado automaticamente pelo Snowflake.

DISTSTYLE

Descrição

Palavra-chave que define o estilo de distribuição de dados para toda a tabela.

Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.

Sintaxe da gramática

 DISTSTYLE { AUTO | EVEN | KEY | ALL }
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    col1 INTEGER
)
DISTSTYLE AUTO;

CREATE TABLE table2 (
    col1 INTEGER
)
DISTSTYLE EVEN;

CREATE TABLE table3 (
    col1 INTEGER
)
DISTSTYLE KEY
DISTKEY (col1);

CREATE TABLE table4 (
    col1 INTEGER
)
DISTSTYLE ALL;
Copy
Código de saída:
 CREATE TABLE table1 (
    col1 INTEGER
)
----** SSC-FDM-RS0001 - DISTSTYLE AUTO OPTION NOT SUPPORTED. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--DISTSTYLE AUTO
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}';

CREATE TABLE table2 (
    col1 INTEGER
)
----** SSC-FDM-RS0001 - DISTSTYLE EVEN OPTION NOT SUPPORTED. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--DISTSTYLE EVEN
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}';

CREATE TABLE table3 (
    col1 INTEGER
)
----** SSC-FDM-RS0001 - DISTSTYLE KEY OPTION NOT SUPPORTED. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--DISTSTYLE KEY
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;

CREATE TABLE table4 (
    col1 INTEGER
)
----** SSC-FDM-RS0001 - DISTSTYLE ALL OPTION NOT SUPPORTED. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--DISTSTYLE ALL
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}';
Copy

EWIs relacionados

  1. SSC-FDM-RS0001: Opção não suportada. O armazenamento de dados é tratado automaticamente pelo Snowflake.

ENCODE

Descrição

No Snowflake, a definição de ENCODE é desnecessária porque ele lida automaticamente com a compactação de dados, ao contrário do Redshift, que exige configurações manuais de codificação. Por esse motivo, a instrução ENCODE é removida durante a migração.

Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.

Sintaxe da gramática

 ENCODE AUTO
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    col1 INTEGER
)
ENCODE AUTO;
Copy
Código de saída:
 CREATE TABLE table1 (
    col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs relacionados

Não há problemas conhecidos.

SORTKEY

Descrição

A palavra-chave que especifica que a coluna é a chave de classificação da tabela. No Snowflake, o SORTKEY do Redshift pode ser migrado para o CLUSTER BY porque ambos otimizam o armazenamento de dados para o desempenho da consulta. O CLUSTER BY no Snowflake organiza os dados em colunas específicas, de forma semelhante a como o SORTKEY ordena os dados no Redshift.

Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.

Sintaxe da gramática

 [COMPOUND | INTERLEAVED ] SORTKEY ( column_name [,...]) | [ SORTKEY AUTO ]
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    col1 INTEGER,
    col2 VARCHAR,
    col3 INTEGER,
    col4 INTEGER
)
COMPOUND SORTKEY (col1, col3);

CREATE TABLE table2 (
    col1 INTEGER
)
INTERLEAVED SORTKEY (col1);

CREATE TABLE table3 (
    col1 INTEGER
)
SORTKEY AUTO;
Copy
Código de saída:
 CREATE TABLE table1 (
    col1 INTEGER,
    col2 VARCHAR,
    col3 INTEGER,
    col4 INTEGER
)
--** SSC-FDM-RS0002 - THE PERFORMANCE OF THE CLUSTER BY MAY VARY COMPARED TO THE PERFORMANCE OF SORTKEY **
CLUSTER BY (col1, col3)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;

CREATE TABLE table2 (
    col1 INTEGER
)
--** SSC-FDM-RS0002 - THE PERFORMANCE OF THE CLUSTER BY MAY VARY COMPARED TO THE PERFORMANCE OF SORTKEY **
CLUSTER BY (col1)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;

CREATE TABLE table3 (
    col1 INTEGER
)
----** SSC-FDM-RS0001 - SORTKEY AUTO OPTION NOT SUPPORTED. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--SORTKEY AUTO
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}';
Copy

EWIs relacionados

  1. SSC-FDM-RS0001: Opção não suportada. O armazenamento de dados é tratado automaticamente pelo Snowflake.

  2. SSC-FDM-RS0002: O desempenho de CLUSTER BY pode variar em comparação com o desempenho de Sortkey.

CREATE TABLE

Descrição

Cria uma nova tabela no banco de dados atual. Você define uma lista de colunas, cada uma contendo dados de um tipo distinto. O proprietário da tabela é o emissor do comando CREATE TABLE.

Para obter mais informações, consulte a documentação CREATE TABLE.

Sintaxe da gramática

 CREATE [ [LOCAL ] { TEMPORARY | TEMP } ] TABLE
[ IF NOT EXISTS ] table_name
( { column_name data_type [column_attributes] [ column_constraints ]
  | table_constraints
  | LIKE parent_table [ { INCLUDING | EXCLUDING } DEFAULTS ] }
  [, ... ]  )
[ BACKUP { YES | NO } ]
[table_attributes]

where column_attributes are:
  [ DEFAULT default_expr ]
  [ IDENTITY ( seed, step ) ]
  [ GENERATED BY DEFAULT AS IDENTITY ( seed, step ) ]
  [ ENCODE encoding ]
  [ DISTKEY ]
  [ SORTKEY ]
  [ COLLATE CASE_SENSITIVE | COLLATE CASE_INSENSITIVE  ]

and column_constraints are:
  [ { NOT NULL | NULL } ]
  [ { UNIQUE  |  PRIMARY KEY } ]
  [ REFERENCES reftable [ ( refcolumn ) ] ]

and table_constraints  are:
  [ UNIQUE ( column_name [, ... ] ) ]
  [ PRIMARY KEY ( column_name [, ... ] )  ]
  [ FOREIGN KEY (column_name [, ... ] ) REFERENCES reftable [ ( refcolumn ) ]


and table_attributes are:
  [ DISTSTYLE { AUTO | EVEN | KEY | ALL } ]
  [ DISTKEY ( column_name ) ]
  [ [COMPOUND | INTERLEAVED ] SORTKEY ( column_name [,...]) |  [ SORTKEY AUTO ] ]
  [ ENCODE AUTO ]
         
Copy

Início da tabela

BACKUP

Descrição

Permite que o Amazon Redshift ajuste automaticamente o tipo de codificação de todas as colunas da tabela para otimizar o desempenho da consulta. No Snowflake, o conceito de BACKUP, como visto em outros bancos de dados, não é diretamente aplicável. O Snowflake lida automaticamente com o backup e a recuperação de dados por meio de seus recursos integrados, como Time Travel e Fail-safe, eliminando a necessidade de operações manuais de backup. Por esses motivos, a instrução BACKUP é removida durante o processo de transformação

Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.

Sintaxe da gramática

 BACKUP { YES | NO }
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    col1 INTEGER
)
BACKUP YES;
Copy
Código de saída:
 CREATE TABLE table1 (
    col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs relacionados

Não há problemas conhecidos.

IF NOT EXISTS

Descrição

No Amazon Redshift, IF NOT EXISTS é usado em comandos de criação de tabelas para evitar erros se a tabela já existir. Quando incluída, ela garante que a tabela seja criada somente se ainda não existir, evitando duplicação e erros no script SQL.

Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.

Sintaxe da gramática

 IF NOT EXISTS
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE IF NOT EXISTS table1 (
    col1 INTEGER
);
Copy
Código de saída:
 CREATE TABLE IF NOT EXISTS table1 (
    col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}';
Copy

EWIs relacionados

Não há problemas conhecidos.

LOCAL

Descrição

No Amazon Redshift, LOCAL TEMPORARY ou TEMP são usados para criar tabelas temporárias que existem apenas durante a sessão. Essas tabelas são específicas da sessão e são automaticamente excluídas quando a sessão termina. Eles são úteis para armazenar resultados intermediários ou dados de trabalho sem afetar o esquema permanente do banco de dados.

Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.

Sintaxe da gramática

 LOCAL { TEMPORARY | TEMP }
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE LOCAL TEMPORARY TABLE table1 (
    col1 INTEGER
);
Copy
Código de saída:
 CREATE LOCAL TEMPORARY TABLE table1 (
    col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}';
Copy

EWIs relacionados

Não há problemas conhecidos.

Restrições de tabela

FOREIGN KEY

Descrição

Restrição que especifica uma restrição de chave estrangeira, que exige que um grupo de uma ou mais colunas da nova tabela contenha apenas valores que correspondam a valores na coluna ou colunas referenciadas de alguma linha da tabela referenciada.

Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.

Aviso

A conversão para Foreign Key será entregue no futuro.

Sintaxe da gramática

 FOREIGN KEY (column_name [, ... ] ) REFERENCES reftable [ ( refcolumn )
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table15 (
    col1 INTEGER,
    FOREIGN KEY (col1) REFERENCES table_test (col1)
);
Copy
Código de saída:
 CREATE TABLE table15 (
    col1 INTEGER
--                ,
--    --** SSC-FDM-RS0003 - THE TRANSLATION FOR FOREIGN KEY IS NOT AVAILABLE, IT WILL BE PROVIDED IN THE FUTURE. **
--    FOREIGN KEY (col1) REFERENCES table_test (col1)
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/26/2024" }}';
Copy

EWIs relacionados

  • SSC-FDM-RSOOO3: A conversão de chave estrangeira terá suporte no futuro.

PRIMARY KEY

Descrição

Especifica que uma coluna ou um número de colunas de uma tabela pode conter apenas valores únicos e não nulos

Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.

Nota

No Snowflake, as chaves exclusivas, primárias e estrangeiras são usadas para documentação e não impõem restrições ou exclusividade. Eles ajudam a descrever as relações entre as tabelas, mas não afetam a integridade ou o desempenho dos dados.

Sintaxe da gramática

 PRIMARY KEY ( column_name [, ... ] )
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    col1 INTEGER, 
    col2 INTEGER,
    PRIMARY KEY (col1)
);
Copy
Código de saída:
 CREATE TABLE table1 (
    col1 INTEGER,
    col2 INTEGER,
    PRIMARY KEY (col1)
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs relacionados

Não há problemas conhecidos.

UNIQUE

Descrição

Especifica que um grupo de uma ou mais colunas de uma tabela pode conter apenas valores exclusivos.

Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.

Nota

No Snowflake, as chaves exclusivas, primárias e estrangeiras são usadas para documentação e não impõem restrições ou exclusividade. Eles ajudam a descrever as relações entre as tabelas, mas não afetam a integridade ou o desempenho dos dados.

Sintaxe da gramática

 UNIQUE ( column_name [, ... ] )
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    col1 INTEGER, 
    col2 INTEGER,
    UNIQUE ( col1, col2 )
);
Copy
Código de saída:
 CREATE TABLE table1 (
    col1 INTEGER,
    col2 INTEGER,
    UNIQUE ( col1, col2 )
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs relacionados

Não há problemas conhecidos.

Restrição de coluna

NOT NULL | NULL

Descrição

NOT NULL especifica que a coluna não pode conter valores nulos. NULL, o padrão, especifica que a coluna aceita valores nulos.

Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.

Sintaxe da gramática

 NOT NULL | NULL
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    col1 INTEGER NOT NULL, 
    col2 INTEGER NULL
);
Copy
Código de saída:
 CREATE TABLE table1 (
    col1 INTEGER NOT NULL,
    col2 INTEGER NULL
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs relacionados

Não há problemas conhecidos.

REFERENCES

Descrição

Especifica uma restrição de chave estrangeira, o que implica que a coluna deve conter apenas valores que correspondam a valores na coluna referenciada de alguma linha da tabela referenciada

Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.

Sintaxe da gramática

 REFERENCES reftable [ ( refcolumn ) ]
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    col1 INTEGER REFERENCES table_test (col1)
);
Copy
Código de saída:
 CREATE TABLE table1 (
    col1 INTEGER REFERENCES table_test (col1)
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs relacionados

Não há problemas conhecidos.

UNIQUE | PRIMARY KEY

Descrição

Especifica que a coluna pode conter apenas valores exclusivos. No Snowflake, tanto UNIQUE quanto PRIMARY KEY são usados para documentar e estruturar dados, mas eles não têm a funcionalidade de validação de dados ativa no sentido que você poderia esperar em outros sistemas de banco de dados que impõem essas restrições no nível de armazenamento.

Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.

Nota

No Snowflake, as chaves exclusivas, primárias e estrangeiras são usadas para documentação e não impõem restrições ou exclusividade. Eles ajudam a descrever as relações entre as tabelas, mas não afetam a integridade ou o desempenho dos dados.

Sintaxe da gramática

 UNIQUE | PRIMARY KEY
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    col1 INTEGER PRIMARY KEY,
    col2 INTEGER UNIQUE
);
Copy
Código de saída:
 CREATE TABLE table1 (
    col1 INTEGER PRIMARY KEY,
    col2 INTEGER UNIQUE
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs relacionados

Não há problemas conhecidos.

Atributos da Coluna

COLLATE

Descrição

Especifica se a pesquisa ou comparação de strings na coluna é CASE_SENSITIVE ou CASE_INSENSITIVE.

Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.

Nota

O idioma de agrupamento padrão é o inglês. Se o seu banco de dados usar um idioma diferente, atualize o prefixo «en-» para que corresponda ao idioma do seu banco de dados. Para obter mais informações, consulte este link.

Sintaxe da gramática

 COLLATE CASE_SENSITIVE | COLLATE CASE_INSENSITIVE
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    col1 TEXT COLLATE CASE_SENSITIVE,
    col2 TEXT COLLATE CASE_INSENSITIVE
);
Copy
Código de saída:
 CREATE TABLE table1 (
    col1 TEXT COLLATE 'en-cs',
    col2 TEXT COLLATE 'en-ci'
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

Problemas conhecidos

Não há problemas conhecidos.

DEFAULT

Descrição

Atribui um valor de dados padrão para a coluna.

Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.

Sintaxe da gramática

 DEFAULT default_expr
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    col1 INTEGER DEFAULT 1
);
Copy
Código de saída:
 CREATE TABLE table1 (
    col1 INTEGER DEFAULT 1
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs relacionados

Não há problemas conhecidos.

DISTKEY

Descrição

No Amazon Redshift, o DISTKEY é usado para distribuir dados entre os nós do cluster para otimizar o desempenho da consulta. O Snowflake, no entanto, lida automaticamente com a distribuição e o armazenamento de dados sem precisar de chaves de distribuição explícitas. Devido às diferenças na arquitetura e nas abordagens de gerenciamento de dados, o Snowflake não tem um equivalente direto ao DISTKEY do Redshift. Por esses motivos, a instrução DISTKEY é removida durante o processo de transformação

Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.

Sintaxe da gramática

 DISTKEY
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    col1 INTEGER DISTKEY
);
Copy
Código de saída:
 CREATE TABLE table1 (
    col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs relacionados

Não há problemas conhecidos.

ENCODE

Descrição

A codificação de compressão de uma coluna. No Snowflake, a definição de ENCODE é desnecessária porque ele lida automaticamente com a compactação de dados, ao contrário do Redshift, que exige configurações manuais de codificação. Por esse motivo, a instrução ENCODE é removida durante a migração.

Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.

Sintaxe da gramática

 ENCODE encoding
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    col1 INTEGER ENCODE DELTA
);
Copy
Código de saída:
 CREATE TABLE table1 (
    col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs relacionados

Não há problemas conhecidos.

GENERATED BY DEFAULT AS IDENTITY

Descrição

Especifica que a coluna é uma coluna padrão IDENTITY e permite que você atribua automaticamente um valor exclusivo à coluna.

Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.

Sintaxe da gramática

 GENERATED BY DEFAULT AS IDENTITY ( seed, step )
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    col1 INTEGER GENERATED BY DEFAULT AS IDENTITY(1,1)
);
Copy
Código de saída:
 CREATE TABLE table1 (
    col1 INTEGER IDENTITY(1,1) ORDER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs relacionados

Não há problemas conhecidos.

IDENTITY

Descrição

Cláusula que especifica que a coluna é uma coluna IDENTITY. (Identidade de referência da linguagem RedShift SQL).

Sintaxe da gramática

 IDENTITY ( seed, step )
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    doc INTEGER,
    id1 INTEGER IDENTITY(1,1),
    id2 INTEGER  DEFAULT "identity"(674435, 0, ('5,3'::character varying)::text),
    id3 INTEGER  DEFAULT default_identity(963861, 1, '1,2'::text),
    id4 INTEGER  DEFAULT "default_identity"(963861, 1, '1,6'::text)
);

INSERT INTO table1 (doc) VALUES (1),(2),(3);

SELECT * FROM table1;
Copy

DOC

ID1

ID2

ID3

ID4

1

1

5

1

1

2

2

8

3

7

3

3

11

5

13

Código de saída:
 CREATE TABLE table1 (
    doc INTEGER,
    id1 INTEGER IDENTITY(1,1) ORDER,
    id2 INTEGER IDENTITY(5,3) ORDER,
    id3 INTEGER IDENTITY(1,2) ORDER,
    id4 INTEGER IDENTITY(1,6) ORDER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "12/04/2024",  "domain": "test" }}';

INSERT INTO table1 (doc) VALUES (1),(2),(3);

SELECT * FROM
 table1;
Copy

DOC

ID1

ID2

ID3

ID4

1

1

5

1

1

2

2

8

3

7

3

3

11

5

13

Problemas conhecidos

Não foram encontrados problemas.

EWIs relacionados

Não há problemas conhecidos.

SORTKEY

Descrição

A palavra-chave que especifica que a coluna é a chave de classificação da tabela. No Snowflake, o SORTKEY do Redshift pode ser migrado para o CLUSTER BY porque ambos otimizam o armazenamento de dados para o desempenho da consulta. O CLUSTER BY no Snowflake organiza os dados em colunas específicas, de forma semelhante a como o SORTKEY ordena os dados no Redshift.

Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.

Sintaxe da gramática

 SORTKEY
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    col1 INTEGER SORTKEY
);
Copy
Código de saída:
 CREATE TABLE table1 (
    col1 INTEGER
)
--** SSC-FDM-RS0002 - THE PERFORMANCE OF THE CLUSTER BY MAY VARY COMPARED TO THE PERFORMANCE OF SORTKEY **
CLUSTER BY (col1)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}';
Copy

Problemas conhecidos

  1. SSC-FDM-RS0002: O desempenho de CLUSTER BY pode variar em comparação com o desempenho de Sortkey ou Distkey.

Atributos da tabela

DISTKEY

Descrição

No Amazon Redshift, o DISTKEY é usado para distribuir dados entre os nós do cluster para otimizar o desempenho da consulta. O Snowflake, no entanto, lida automaticamente com a distribuição e o armazenamento de dados sem precisar de chaves de distribuição explícitas. Devido às diferenças na arquitetura e nas abordagens de gerenciamento de dados, o Snowflake não tem um equivalente direto ao DISTKEY do Redshift.

Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.

Sintaxe da gramática

 DISTKEY ( column_name )
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    col1 INTEGER
)
DISTKEY (col1);
Copy
Código de saída:
 CREATE TABLE table1 (
    col1 INTEGER
)
----** SSC-FDM-RS0001 - DISTKEY OPTION NOT SUPPORTED. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--DISTKEY (col1)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "03/03/2025",  "domain": "test" }}';
Copy

EWIs relacionados

  1. SSC-FDM-RS0001: Opção não suportada. O armazenamento de dados é tratado automaticamente pelo Snowflake.

DISTSTYLE

Descrição

Palavra-chave que define o estilo de distribuição de dados para toda a tabela.

Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.

Sintaxe da gramática

 DISTSTYLE { AUTO | EVEN | KEY | ALL }
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    col1 INTEGER
)
DISTSTYLE AUTO;

CREATE TABLE table2 (
    col1 INTEGER
)
DISTSTYLE EVEN;

CREATE TABLE table3 (
    col1 INTEGER
)
DISTSTYLE KEY
DISTKEY (col1);

CREATE TABLE table4 (
    col1 INTEGER
)
DISTSTYLE ALL;
Copy
Código de saída:
 CREATE TABLE table1 (
    col1 INTEGER
)
----** SSC-FDM-RS0001 - DISTSTYLE AUTO OPTION NOT SUPPORTED. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--DISTSTYLE AUTO
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}';

CREATE TABLE table2 (
    col1 INTEGER
)
----** SSC-FDM-RS0001 - DISTSTYLE EVEN OPTION NOT SUPPORTED. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--DISTSTYLE EVEN
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}';

CREATE TABLE table3 (
    col1 INTEGER
)
----** SSC-FDM-RS0001 - DISTSTYLE KEY OPTION NOT SUPPORTED. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--DISTSTYLE KEY
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;

CREATE TABLE table4 (
    col1 INTEGER
)
----** SSC-FDM-RS0001 - DISTSTYLE ALL OPTION NOT SUPPORTED. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--DISTSTYLE ALL
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}';
Copy

EWIs relacionados

  1. SSC-FDM-RS0001: Opção não suportada. O armazenamento de dados é tratado automaticamente pelo Snowflake.

ENCODE

Descrição

No Snowflake, a definição de ENCODE é desnecessária porque ele lida automaticamente com a compactação de dados, ao contrário do Redshift, que exige configurações manuais de codificação. Por esse motivo, a instrução ENCODE é removida durante a migração.

Clique aqui para navegar até a página de documentos do Amazon Redshift para essa sintaxe.

Sintaxe da gramática

 ENCODE AUTO
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    col1 INTEGER
)
ENCODE AUTO;
Copy
Código de saída:
 CREATE TABLE table1 (
    col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs relacionados

Não há problemas conhecidos.

SORTKEY

Descrição

A palavra-chave que especifica que a coluna é a chave de classificação da tabela. No Snowflake, o SORTKEY do Redshift pode ser migrado para o CLUSTER BY porque ambos otimizam o armazenamento de dados para o desempenho da consulta. O CLUSTER BY no Snowflake organiza os dados em colunas específicas, de forma semelhante a como o SORTKEY ordena os dados no Redshift.

Clique aqui para navegar até a página de documentação do Amazon Redshift para essa sintaxe.

Sintaxe da gramática

 [COMPOUND | INTERLEAVED ] SORTKEY ( column_name [,...]) | [ SORTKEY AUTO ]
Copy

Amostra de padrões da origem

Código de entrada:

 CREATE TABLE table1 (
    col1 INTEGER,
    col2 VARCHAR,
    col3 INTEGER,
    col4 INTEGER
)
COMPOUND SORTKEY (col1, col3);

CREATE TABLE table2 (
    col1 INTEGER
)
INTERLEAVED SORTKEY (col1);

CREATE TABLE table3 (
    col1 INTEGER
)
SORTKEY AUTO;
Copy
Código de saída:
 CREATE TABLE table1 (
    col1 INTEGER,
    col2 VARCHAR,
    col3 INTEGER,
    col4 INTEGER
)
--** SSC-FDM-RS0002 - THE PERFORMANCE OF THE CLUSTER BY MAY VARY COMPARED TO THE PERFORMANCE OF SORTKEY **
CLUSTER BY (col1, col3)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;

CREATE TABLE table2 (
    col1 INTEGER
)
--** SSC-FDM-RS0002 - THE PERFORMANCE OF THE CLUSTER BY MAY VARY COMPARED TO THE PERFORMANCE OF SORTKEY **
CLUSTER BY (col1)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;

CREATE TABLE table3 (
    col1 INTEGER
)
----** SSC-FDM-RS0001 - SORTKEY AUTO OPTION NOT SUPPORTED. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--SORTKEY AUTO
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}';
Copy

EWIs relacionados

  1. SSC-FDM-RS0001: Opção não suportada. O armazenamento de dados é tratado automaticamente pelo Snowflake.

  2. SSC-FDM-RS0002: O desempenho de CLUSTER BY pode variar em comparação com o desempenho de Sortkey.