SnowConvert AI - Redshift - CREATE TABLE

Criação de gramática de sintaxe de tabela.

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 gramatical

 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 ]
         

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

See the Redshift data distribution documentation for this syntax.

Sintaxe da gramática

 BACKUP { YES | NO }

Amostra de padrões da origem

Código de entrada:

Redshift
 CREATE TABLE table1 (
    col1 INTEGER
)
BACKUP YES;
Código de saída:
Snowflake
 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" }}'
;

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.

See the Redshift CREATE TABLE documentation for this syntax.

Sintaxe da gramática

 IF NOT EXISTS

Amostra de padrões da origem

Código de entrada:

Redshift
 CREATE TABLE IF NOT EXISTS table1 (
    col1 INTEGER
);
Código de saída:
Snowflake
 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" }}';

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.

See the Redshift CREATE TABLE documentation for this syntax.

Sintaxe da gramática

 LOCAL { TEMPORARY | TEMP }

Amostra de padrões da origem

Código de entrada:

Redshift
 CREATE LOCAL TEMPORARY TABLE table1 (
    col1 INTEGER
);
Código de saída:
Snowflake
 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" }}';

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.

See the Redshift data distribution documentation for this syntax.

Sintaxe da gramática

 DISTKEY ( column_name )

Amostra de padrões da origem

Código de entrada:

Redshift
 CREATE TABLE table1 (
    col1 INTEGER
)
DISTKEY (col1);
Código de saída:
Snowflake
 CREATE TABLE table1 (
    col1 INTEGER
)
----** SSC-FDM-RS0001 - DISTKEY OPTION IS NOT SUPPORTED IN SNOWFLAKE. 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" }}';

EWIs relacionados

  1. SSC-FDM-RS0001: Data storage option is not supported in Snowflake. Data distribution is automatically handled by Snowflake.

DISTSTYLE

Descrição

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

See the Redshift data distribution documentation for this syntax.

Sintaxe da gramática

 DISTSTYLE { AUTO | EVEN | KEY | ALL }

Amostra de padrões da origem

Código de entrada:

Redshift
 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;
Código de saída:
Snowflake
 CREATE TABLE table1 (
    col1 INTEGER
)
----** SSC-FDM-RS0001 - DISTSTYLE AUTO OPTION IS NOT SUPPORTED IN SNOWFLAKE. 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 IS NOT SUPPORTED IN SNOWFLAKE. 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 IS NOT SUPPORTED IN SNOWFLAKE. 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 IS NOT SUPPORTED IN SNOWFLAKE. 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" }}';

EWIs relacionados

  1. SSC-FDM-RS0001: Data storage option is not supported in Snowflake. Data distribution is automatically handled by 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.

See the Redshift CREATE TABLE documentation for this syntax.

Sintaxe da gramática

 ENCODE AUTO

Amostra de padrões da origem

Código de entrada:

Redshift
 CREATE TABLE table1 (
    col1 INTEGER
)
ENCODE AUTO;
Código de saída:
Snowflake
 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" }}'
;

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.

See the Redshift data distribution documentation for this syntax.

Sintaxe da gramática

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

Amostra de padrões da origem

Código de entrada:

Redshift
 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;
Código de saída:
Snowflake
 CREATE TABLE table1 (
    col1 INTEGER,
    col2 VARCHAR,
    col3 INTEGER,
    col4 INTEGER
)
--** SSC-FDM-RS0002 - THE PERFORMANCE OF CLUSTER BY IN SNOWFLAKE MAY VARY COMPARED TO THE PERFORMANCE OF SORTKEY IN REDSHIFT. **
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 CLUSTER BY IN SNOWFLAKE MAY VARY COMPARED TO THE PERFORMANCE OF SORTKEY IN REDSHIFT. **
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 IS NOT SUPPORTED IN SNOWFLAKE. 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" }}';

EWIs relacionados

  1. SSC-FDM-RS0001: Data storage option is not supported in Snowflake. Data distribution is automatically handled by Snowflake.

  2. SSC-FDM-RS0002: The performance of CLUSTER BY in Snowflake may vary compared to the performance of SORTKEY in Redshift.

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.

See the Redshift CREATE TABLE documentation for this syntax.

Aviso

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

Sintaxe da gramática

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

Amostra de padrões da origem

Código de entrada:

Redshift
 CREATE TABLE table15 (
    col1 INTEGER,
    FOREIGN KEY (col1) REFERENCES table_test (col1)
);
Código de saída:
Snowflake
 CREATE TABLE table15 (
    col1 INTEGER
--                ,
--    --** SSC-FDM-RS0003 - SNOWCONVERT AI TRANSLATION FOR REDSHIFT FOREIGN KEY CONSTRAINTS IS PENDING. **
--    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" }}';

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

See the Redshift CREATE TABLE documentation for this syntax.

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 [, ... ] )

Amostra de padrões da origem

Código de entrada:

Redshift
 CREATE TABLE table1 (
    col1 INTEGER, 
    col2 INTEGER,
    PRIMARY KEY (col1)
);
Código de saída:
Snowflake
 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" }}'
;

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.

See the Redshift CREATE TABLE documentation for this syntax.

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 [, ... ] )

Amostra de padrões da origem

Código de entrada:

Redshift
 CREATE TABLE table1 (
    col1 INTEGER, 
    col2 INTEGER,
    UNIQUE ( col1, col2 )
);
Código de saída:
Snowflake
 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" }}'
;

EWIs relacionados

Não há problemas conhecidos.

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.

See the Redshift CREATE TABLE documentation for this syntax.

Sintaxe da gramática

 NOT NULL | NULL

Amostra de padrões da origem

Código de entrada:

Redshift
 CREATE TABLE table1 (
    col1 INTEGER NOT NULL, 
    col2 INTEGER NULL
);
Código de saída:
Snowflake
 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" }}'
;

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

See the Redshift CREATE TABLE documentation for this syntax.

Sintaxe da gramática

 REFERENCES reftable [ ( refcolumn ) ]

Amostra de padrões da origem

Código de entrada:

Redshift
 CREATE TABLE table1 (
    col1 INTEGER REFERENCES table_test (col1)
);
Código de saída:
Snowflake
 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" }}'
;

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.

See the Redshift CREATE TABLE documentation for this syntax.

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

Amostra de padrões da origem

Código de entrada:

Redshift
 CREATE TABLE table1 (
    col1 INTEGER PRIMARY KEY,
    col2 INTEGER UNIQUE
);
Código de saída:
Snowflake
 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" }}'
;

EWIs relacionados

Não há problemas conhecidos.

COLLATE

Descrição

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

See the Redshift CREATE TABLE documentation for this syntax.

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

Amostra de padrões da origem

Código de entrada:

Redshift
 CREATE TABLE table1 (
    col1 TEXT COLLATE CASE_SENSITIVE,
    col2 TEXT COLLATE CASE_INSENSITIVE
);
Código de saída:
Snowflake
 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" }}'
;

Problemas conhecidos

Não há problemas conhecidos.

DEFAULT

Descrição

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

See the Redshift CREATE TABLE DEFAULT clause documentation for this syntax.

Sintaxe da gramática

 DEFAULT default_expr

Amostra de padrões da origem

Código de entrada:

Redshift
 CREATE TABLE table1 (
    col1 INTEGER DEFAULT 1
);
Código de saída:
Snowflake
 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" }}'
;

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

See the Redshift data distribution documentation for this syntax.

Sintaxe da gramática

 DISTKEY

Amostra de padrões da origem

Código de entrada:

Redshift
 CREATE TABLE table1 (
    col1 INTEGER DISTKEY
);
Código de saída:
Snowflake
 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" }}'
;

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.

See the Redshift CREATE TABLE ENCODE clause documentation for this syntax.

Sintaxe da gramática

 ENCODE encoding

Amostra de padrões da origem

Código de entrada:

Redshift
 CREATE TABLE table1 (
    col1 INTEGER ENCODE DELTA
);
Código de saída:
Snowflake
 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" }}'
;

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.

See the Redshift IDENTITY column documentation for this syntax.

Sintaxe da gramática

 GENERATED BY DEFAULT AS IDENTITY ( seed, step )

Amostra de padrões da origem

Código de entrada:

Redshift
 CREATE TABLE table1 (
    col1 INTEGER GENERATED BY DEFAULT AS IDENTITY(1,1)
);
Código de saída:
Snowflake
 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" }}'
;

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 )

Amostra de padrões da origem

Código de entrada:

Redshift
 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;
Resultados

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:
Snowflake
 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;
Resultados

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.

See the Redshift data sorting documentation for this syntax.

Sintaxe da gramática

 SORTKEY

Amostra de padrões da origem

Código de entrada:

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

Problemas conhecidos

  1. SSC-FDM-RS0002: The performance of CLUSTER BY in Snowflake may vary compared to the performance of SORTKEY in Redshift.