SnowConvert: CREATE TABLE 에 대한 Redshift SQL 문

CREATE TABLE

설명

현재 데이터베이스에 새 테이블을 생성합니다. 각각 고유한 데이터 타입의 데이터를 보관하는 열 목록을 정의합니다. 테이블의 소유자는 CREATE TABLE 명령의 발급자입니다.

자세한 내용은 CREATE TABLE 설명서를 참조하십시오.

문법 구문

 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

테이블 시작

BACKUP

설명

Amazon Redshift가 테이블의 모든 열에 대한 인코딩 유형을 자동으로 조정하여 쿼리 성능을 최적화할 수 있도록 합니다. Snowflake에서는 다른 데이터베이스에서 볼 수 있는 BACKUP 개념이 직접 적용되지 않습니다. Snowflake는 Time Travel 및 Fail-safe와 같은 기본 제공 기능을 통해 데이터 백업 및 복구를 자동으로 처리하므로 수동 백업 작업이 필요하지 않습니다. 이러한 이유로 변환 프로세스 중에 BACKUP 문이 제거됩니다

여기 를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

문법 구문

 BACKUP { YES | NO }
Copy

샘플 소스 패턴

입력 코드:

 CREATE TABLE table1 (
    col1 INTEGER
)
BACKUP YES;
Copy
출력 코드:
 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

설명

Amazon Redshift에서는 테이블이 이미 존재하는 경우 오류를 방지하기 위해 테이블 생성 명령에 IF NOT EXISTS 를 사용합니다. 포함하면 테이블이 아직 존재하지 않는 경우에만 테이블이 생성되도록 하여 SQL 스크립트의 중복 및 오류를 방지합니다.

여기를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

문법 구문

 IF NOT EXISTS
Copy

샘플 소스 패턴

입력 코드:

 CREATE TABLE IF NOT EXISTS table1 (
    col1 INTEGER
);
Copy
출력 코드:
 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

알려진 문제는 없습니다.

LOCAL

설명

Amazon Redshift에서 LOCAL TEMPORARY 또는 TEMP 은 세션 기간 동안만 존재하는 임시 테이블을 만드는 데 사용됩니다. 이러한 테이블은 세션별로 다르며 세션이 종료되면 자동으로 삭제됩니다. 영구 데이터베이스 스키마에 영향을 주지 않고 중간 결과 또는 작업 데이터를 저장하는 데 유용합니다.

여기를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

문법 구문

 LOCAL { TEMPORARY | TEMP }
Copy

샘플 소스 패턴

입력 코드:

 CREATE LOCAL TEMPORARY TABLE table1 (
    col1 INTEGER
);
Copy
출력 코드:
 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

알려진 문제는 없습니다.

테이블 제약 조건

FOREIGN KEY

설명

새 테이블의 1개 이상의 열 그룹에 참조된 열 또는 참조된 테이블의 일부 행의 열에 있는 값과 일치하는 값만 포함해야 하는 외래 키 제약 조건을 지정하는 제약 조건입니다.

여기를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

경고

외래 키에 대한 변환은 향후 제공될 예정입니다.

문법 구문

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

샘플 소스 패턴

입력 코드:

 CREATE TABLE table15 (
    col1 INTEGER,
    FOREIGN KEY (col1) REFERENCES table_test (col1)
);
Copy
출력 코드:
 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

  • SSC-FDM-RSOOO3: 향후 외래 키 변환이 지원될 예정입니다.

PRIMARY KEY

설명

테이블의 열 또는 여러 열에 null이 아닌 고유 값만 포함할 수 있도록 지정합니다

여기를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

참고

Snowflake에서는 고유, 기본 및 외래 키가 설명서에 사용되며 제약 조건이나 고유성을 적용하지 않습니다. 테이블 관계를 설명하는 데 도움이 되지만 데이터 무결성이나 성능에는 영향을 미치지 않습니다.

문법 구문

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

샘플 소스 패턴

입력 코드:

 CREATE TABLE table1 (
    col1 INTEGER, 
    col2 INTEGER,
    PRIMARY KEY (col1)
);
Copy
출력 코드:
 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

알려진 문제는 없습니다.

UNIQUE

설명

테이블의 1개 이상의 열 그룹에 고유한 값만 포함할 수 있도록 지정합니다.

여기를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

참고

Snowflake에서는 고유, 기본 및 외래 키가 설명서에 사용되며 제약 조건이나 고유성을 적용하지 않습니다. 테이블 관계를 설명하는 데 도움이 되지만 데이터 무결성이나 성능에는 영향을 미치지 않습니다.

문법 구문

 UNIQUE ( column_name [, ... ] )
Copy

샘플 소스 패턴

입력 코드:

 CREATE TABLE table1 (
    col1 INTEGER, 
    col2 INTEGER,
    UNIQUE ( col1, col2 )
);
Copy
출력 코드:
 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

알려진 문제는 없습니다.

열 제약 조건

NOT NULL | NULL

설명

NOT NULL 은 열에 null 값을 포함할 수 없도록 지정합니다. NULL 을 기본값으로 설정하면 열이 null 값을 허용하도록 지정됩니다.

여기를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

문법 구문

 NOT NULL | NULL
Copy

샘플 소스 패턴

입력 코드:

 CREATE TABLE table1 (
    col1 INTEGER NOT NULL, 
    col2 INTEGER NULL
);
Copy
출력 코드:
 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

알려진 문제는 없습니다.

REFERENCES

설명

참조된 테이블의 일부 행의 참조된 열에 있는 값과 일치하는 값만 열에 포함해야 한다는 의미의 외래 키 제약 조건을 지정합니다

여기를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

문법 구문

 REFERENCES reftable [ ( refcolumn ) ]
Copy

샘플 소스 패턴

입력 코드:

 CREATE TABLE table1 (
    col1 INTEGER REFERENCES table_test (col1)
);
Copy
출력 코드:
 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

알려진 문제는 없습니다.

UNIQUE | PRIMARY KEY

설명

열에 고유 값만 포함할 수 있도록 지정합니다. Snowflake에서 UNIQUE 및 PRIMARY KEY 는 모두 데이터를 설명하고 구조화하는 데 사용되지만, 저장소 수준에서 이러한 제한을 적용하는 다른 데이터베이스 시스템에서 기대할 수 있는 의미에서 적극적인 데이터 유효성 검사 기능은 없습니다.

여기를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

참고

Snowflake에서는 고유, 기본 및 외래 키가 설명서에 사용되며 제약 조건이나 고유성을 적용하지 않습니다. 테이블 관계를 설명하는 데 도움이 되지만 데이터 무결성이나 성능에는 영향을 미치지 않습니다.

문법 구문

 UNIQUE | PRIMARY KEY
Copy

샘플 소스 패턴

입력 코드:

 CREATE TABLE table1 (
    col1 INTEGER PRIMARY KEY,
    col2 INTEGER UNIQUE
);
Copy
출력 코드:
 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

알려진 문제는 없습니다.

열 특성

COLLATE

설명

열의 문자열 검색 또는 비교가 CASE_SENSITIVE 또는 CASE_INSENSITIVE 인지 여부를 지정합니다.

여기를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

참고

기본 데이터 정렬 언어는 영어입니다. 데이터베이스에서 다른 언어를 사용하는 경우 데이터베이스의 언어와 일치하도록’en-‘접두사를 업데이트하십시오. 자세한 내용은 이 링크 를 참조하십시오.

문법 구문

 COLLATE CASE_SENSITIVE | COLLATE CASE_INSENSITIVE
Copy

샘플 소스 패턴

입력 코드:

 CREATE TABLE table1 (
    col1 TEXT COLLATE CASE_SENSITIVE,
    col2 TEXT COLLATE CASE_INSENSITIVE
);
Copy
출력 코드:
 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

알려진 문제

알려진 문제는 없습니다.

DEFAULT

설명

열의 기본 데이터 값을 할당합니다.

여기를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

문법 구문

 DEFAULT default_expr
Copy

샘플 소스 패턴

입력 코드:

 CREATE TABLE table1 (
    col1 INTEGER DEFAULT 1
);
Copy
출력 코드:
 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

알려진 문제는 없습니다.

DISTKEY

설명

Amazon Redshift에서는 DISTKEY 를 사용하여 클러스터 노드 간에 데이터를 분산하여 쿼리 성능을 최적화합니다. 하지만 Snowflake는 명시적 배포 키 없이도 데이터 배포와 저장소를 자동으로 처리합니다. 아키텍처와 데이터 관리 접근법의 차이로 인해, Snowflake는 Redshift의 DISTKEY 와 직접적으로 동등한 기능을 가지고 있지 않습니다. 이러한 이유로 변환 프로세스 중에 DISTKEY 문이 제거됩니다

여기 를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

문법 구문

 DISTKEY
Copy

샘플 소스 패턴

입력 코드:

 CREATE TABLE table1 (
    col1 INTEGER DISTKEY
);
Copy
출력 코드:
 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

알려진 문제는 없습니다.

ENCODE

설명

열의 압축 인코딩입니다. Snowflake에서는 수동 인코딩 설정이 필요한 Redshift와 달리 데이터 압축을 자동으로 처리하므로 ENCODE 를 정의할 필요가 없습니다. 따라서 마이그레이션 중에는 ENCODE 문이 제거됩니다.

여기를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

문법 구문

 ENCODE encoding
Copy

샘플 소스 패턴

입력 코드:

 CREATE TABLE table1 (
    col1 INTEGER ENCODE DELTA
);
Copy
출력 코드:
 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

알려진 문제는 없습니다.

GENERATED BY DEFAULT AS IDENTITY

설명

열을 기본값 IDENTITY 열로 지정하고 열에 고유 값을 자동으로 할당할 수 있도록 합니다.

여기를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동하십시오.

문법 구문

 GENERATED BY DEFAULT AS IDENTITY ( seed, step )
Copy

샘플 소스 패턴

입력 코드:

 CREATE TABLE table1 (
    col1 INTEGER GENERATED BY DEFAULT AS IDENTITY(1,1)
);
Copy
출력 코드:
 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

알려진 문제는 없습니다.

IDENTITY

설명

열이 IDENTITY 열임을 지정하는 절입니다. (RedShift SQL Language Reference ID).

문법 구문

 IDENTITY ( seed, step )
Copy

샘플 소스 패턴

입력 코드:

 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

출력 코드:
 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

알려진 문제

문제가 발견되지 않았습니다.

관련 EWIs

알려진 문제는 없습니다.

SORTKEY

설명

열이 테이블의 정렬 키임을 지정하는 키워드입니다. 둘 다 쿼리 성능을 위해 데이터 저장소를 최적화하기 때문에 Snowflake에서 Redshift의 SORTKEYCLUSTERBY 로 마이그레이션할 수 있습니다. CLUSTERBY 는 Redshift의 SORTKEY 에서 데이터를 주문하는 방식과 유사하게 지정된 열에 대해 데이터를 조직화합니다.

여기 를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

문법 구문

 SORTKEY
Copy

샘플 소스 패턴

입력 코드:

 CREATE TABLE table1 (
    col1 INTEGER SORTKEY
);
Copy
출력 코드:
 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

알려진 문제

  1. SSC-FDM-RS0002: CLUSTER BY 의 성능은 Sortkey 또는 Distkey의 성능과 다를 수 있습니다.

테이블 특성

DISTKEY

설명

Amazon Redshift에서는 DISTKEY 를 사용하여 클러스터 노드 간에 데이터를 분산하여 쿼리 성능을 최적화합니다. 하지만 Snowflake는 명시적 배포 키 없이도 데이터 배포와 저장소를 자동으로 처리합니다. 아키텍처와 데이터 관리 접근법의 차이로 인해, Snowflake는 Redshift의 DISTKEY 와 직접적으로 동등한 기능을 가지고 있지 않습니다.

여기 를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

문법 구문

 DISTKEY ( column_name )
Copy

샘플 소스 패턴

입력 코드:

 CREATE TABLE table1 (
    col1 INTEGER
)
DISTKEY (col1);
Copy
출력 코드:
 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

  1. SSC-FDM-RS0001: 지원되지 않는 옵션입니다. 데이터 저장소는 Snowflake에서 자동으로 처리합니다.

DISTSTYLE

설명

전체 테이블의 데이터 배포 스타일을 정의하는 키워드입니다.

여기 를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

문법 구문

 DISTSTYLE { AUTO | EVEN | KEY | ALL }
Copy

샘플 소스 패턴

입력 코드:

 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
출력 코드:
 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

  1. SSC-FDM-RS0001: 지원되지 않는 옵션입니다. 데이터 저장소는 Snowflake에서 자동으로 처리합니다.

ENCODE

설명

Snowflake에서는 수동 인코딩 설정이 필요한 Redshift와 달리 데이터 압축을 자동으로 처리하므로 ENCODE 를 정의할 필요가 없습니다. 따라서 마이그레이션 중에는 ENCODE 문이 제거됩니다.

여기를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

문법 구문

 ENCODE AUTO
Copy

샘플 소스 패턴

입력 코드:

 CREATE TABLE table1 (
    col1 INTEGER
)
ENCODE AUTO;
Copy
출력 코드:
 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

알려진 문제는 없습니다.

SORTKEY

설명

열이 테이블의 정렬 키임을 지정하는 키워드입니다. 둘 다 쿼리 성능을 위해 데이터 저장소를 최적화하기 때문에 Snowflake에서 Redshift의 SORTKEYCLUSTERBY 로 마이그레이션할 수 있습니다. CLUSTERBY 는 Redshift의 SORTKEY 에서 데이터를 주문하는 방식과 유사하게 지정된 열에 대해 데이터를 조직화합니다.

여기 를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

문법 구문

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

샘플 소스 패턴

입력 코드:

 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
출력 코드:
 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

  1. SSC-FDM-RS0001: 지원되지 않는 옵션입니다. 데이터 저장소는 Snowflake에서 자동으로 처리합니다.

  2. SSC-FDM-RS0002: CLUSTER BY 의 성능은 Sortkey의 성능과 다를 수 있습니다.

CREATE TABLE

설명

현재 데이터베이스에 새 테이블을 생성합니다. 각각 고유한 데이터 타입의 데이터를 보관하는 열 목록을 정의합니다. 테이블의 소유자는 CREATE TABLE 명령의 발급자입니다.

자세한 내용은 CREATE TABLE 설명서를 참조하십시오.

문법 구문

 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

테이블 시작

BACKUP

설명

Amazon Redshift가 테이블의 모든 열에 대한 인코딩 유형을 자동으로 조정하여 쿼리 성능을 최적화할 수 있도록 합니다. Snowflake에서는 다른 데이터베이스에서 볼 수 있는 BACKUP 개념이 직접 적용되지 않습니다. Snowflake는 Time Travel 및 Fail-safe와 같은 기본 제공 기능을 통해 데이터 백업 및 복구를 자동으로 처리하므로 수동 백업 작업이 필요하지 않습니다. 이러한 이유로 변환 프로세스 중에 BACKUP 문이 제거됩니다

여기 를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

문법 구문

 BACKUP { YES | NO }
Copy

샘플 소스 패턴

입력 코드:

 CREATE TABLE table1 (
    col1 INTEGER
)
BACKUP YES;
Copy
출력 코드:
 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

알려진 문제는 없습니다.

IF NOT EXISTS

설명

Amazon Redshift에서는 테이블이 이미 존재하는 경우 오류를 방지하기 위해 테이블 생성 명령에 IF NOT EXISTS 를 사용합니다. 포함하면 테이블이 아직 존재하지 않는 경우에만 테이블이 생성되도록 하여 SQL 스크립트의 중복 및 오류를 방지합니다.

여기를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

문법 구문

 IF NOT EXISTS
Copy

샘플 소스 패턴

입력 코드:

 CREATE TABLE IF NOT EXISTS table1 (
    col1 INTEGER
);
Copy
출력 코드:
 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

알려진 문제는 없습니다.

LOCAL

설명

Amazon Redshift에서 LOCAL TEMPORARY 또는 TEMP 은 세션 기간 동안만 존재하는 임시 테이블을 만드는 데 사용됩니다. 이러한 테이블은 세션별로 다르며 세션이 종료되면 자동으로 삭제됩니다. 영구 데이터베이스 스키마에 영향을 주지 않고 중간 결과 또는 작업 데이터를 저장하는 데 유용합니다.

여기를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

문법 구문

 LOCAL { TEMPORARY | TEMP }
Copy

샘플 소스 패턴

입력 코드:

 CREATE LOCAL TEMPORARY TABLE table1 (
    col1 INTEGER
);
Copy
출력 코드:
 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

알려진 문제는 없습니다.

테이블 제약 조건

FOREIGN KEY

설명

새 테이블의 1개 이상의 열 그룹에 참조된 열 또는 참조된 테이블의 일부 행의 열에 있는 값과 일치하는 값만 포함해야 하는 외래 키 제약 조건을 지정하는 제약 조건입니다.

여기를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

경고

외래 키에 대한 변환은 향후 제공될 예정입니다.

문법 구문

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

샘플 소스 패턴

입력 코드:

 CREATE TABLE table15 (
    col1 INTEGER,
    FOREIGN KEY (col1) REFERENCES table_test (col1)
);
Copy
출력 코드:
 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

  • SSC-FDM-RSOOO3: 향후 외래 키 변환이 지원될 예정입니다.

PRIMARY KEY

설명

테이블의 열 또는 여러 열에 null이 아닌 고유 값만 포함할 수 있도록 지정합니다

여기를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

참고

Snowflake에서는 고유, 기본 및 외래 키가 설명서에 사용되며 제약 조건이나 고유성을 적용하지 않습니다. 테이블 관계를 설명하는 데 도움이 되지만 데이터 무결성이나 성능에는 영향을 미치지 않습니다.

문법 구문

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

샘플 소스 패턴

입력 코드:

 CREATE TABLE table1 (
    col1 INTEGER, 
    col2 INTEGER,
    PRIMARY KEY (col1)
);
Copy
출력 코드:
 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

알려진 문제는 없습니다.

UNIQUE

설명

테이블의 1개 이상의 열 그룹에 고유한 값만 포함할 수 있도록 지정합니다.

여기를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

참고

Snowflake에서는 고유, 기본 및 외래 키가 설명서에 사용되며 제약 조건이나 고유성을 적용하지 않습니다. 테이블 관계를 설명하는 데 도움이 되지만 데이터 무결성이나 성능에는 영향을 미치지 않습니다.

문법 구문

 UNIQUE ( column_name [, ... ] )
Copy

샘플 소스 패턴

입력 코드:

 CREATE TABLE table1 (
    col1 INTEGER, 
    col2 INTEGER,
    UNIQUE ( col1, col2 )
);
Copy
출력 코드:
 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

알려진 문제는 없습니다.

열 제약 조건

NOT NULL | NULL

설명

NOT NULL 은 열에 null 값을 포함할 수 없도록 지정합니다. NULL 을 기본값으로 설정하면 열이 null 값을 허용하도록 지정됩니다.

여기를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

문법 구문

 NOT NULL | NULL
Copy

샘플 소스 패턴

입력 코드:

 CREATE TABLE table1 (
    col1 INTEGER NOT NULL, 
    col2 INTEGER NULL
);
Copy
출력 코드:
 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

알려진 문제는 없습니다.

REFERENCES

설명

참조된 테이블의 일부 행의 참조된 열에 있는 값과 일치하는 값만 열에 포함해야 한다는 의미의 외래 키 제약 조건을 지정합니다

여기를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

문법 구문

 REFERENCES reftable [ ( refcolumn ) ]
Copy

샘플 소스 패턴

입력 코드:

 CREATE TABLE table1 (
    col1 INTEGER REFERENCES table_test (col1)
);
Copy
출력 코드:
 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

알려진 문제는 없습니다.

UNIQUE | PRIMARY KEY

설명

열에 고유 값만 포함할 수 있도록 지정합니다. Snowflake에서 UNIQUE 및 PRIMARY KEY 는 모두 데이터를 설명하고 구조화하는 데 사용되지만, 저장소 수준에서 이러한 제한을 적용하는 다른 데이터베이스 시스템에서 기대할 수 있는 의미에서 적극적인 데이터 유효성 검사 기능은 없습니다.

여기를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

참고

Snowflake에서는 고유, 기본 및 외래 키가 설명서에 사용되며 제약 조건이나 고유성을 적용하지 않습니다. 테이블 관계를 설명하는 데 도움이 되지만 데이터 무결성이나 성능에는 영향을 미치지 않습니다.

문법 구문

 UNIQUE | PRIMARY KEY
Copy

샘플 소스 패턴

입력 코드:

 CREATE TABLE table1 (
    col1 INTEGER PRIMARY KEY,
    col2 INTEGER UNIQUE
);
Copy
출력 코드:
 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

알려진 문제는 없습니다.

열 특성

COLLATE

설명

열의 문자열 검색 또는 비교가 CASE_SENSITIVE 또는 CASE_INSENSITIVE 인지 여부를 지정합니다.

여기를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

참고

기본 데이터 정렬 언어는 영어입니다. 데이터베이스에서 다른 언어를 사용하는 경우 데이터베이스의 언어와 일치하도록’en-‘접두사를 업데이트하십시오. 자세한 내용은 이 링크 를 참조하십시오.

문법 구문

 COLLATE CASE_SENSITIVE | COLLATE CASE_INSENSITIVE
Copy

샘플 소스 패턴

입력 코드:

 CREATE TABLE table1 (
    col1 TEXT COLLATE CASE_SENSITIVE,
    col2 TEXT COLLATE CASE_INSENSITIVE
);
Copy
출력 코드:
 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

알려진 문제

알려진 문제는 없습니다.

DEFAULT

설명

열의 기본 데이터 값을 할당합니다.

여기를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

문법 구문

 DEFAULT default_expr
Copy

샘플 소스 패턴

입력 코드:

 CREATE TABLE table1 (
    col1 INTEGER DEFAULT 1
);
Copy
출력 코드:
 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

알려진 문제는 없습니다.

DISTKEY

설명

Amazon Redshift에서는 DISTKEY 를 사용하여 클러스터 노드 간에 데이터를 분산하여 쿼리 성능을 최적화합니다. 하지만 Snowflake는 명시적 배포 키 없이도 데이터 배포와 저장소를 자동으로 처리합니다. 아키텍처와 데이터 관리 접근법의 차이로 인해, Snowflake는 Redshift의 DISTKEY 와 직접적으로 동등한 기능을 가지고 있지 않습니다. 이러한 이유로 변환 프로세스 중에 DISTKEY 문이 제거됩니다

여기 를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

문법 구문

 DISTKEY
Copy

샘플 소스 패턴

입력 코드:

 CREATE TABLE table1 (
    col1 INTEGER DISTKEY
);
Copy
출력 코드:
 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

알려진 문제는 없습니다.

ENCODE

설명

열의 압축 인코딩입니다. Snowflake에서는 수동 인코딩 설정이 필요한 Redshift와 달리 데이터 압축을 자동으로 처리하므로 ENCODE 를 정의할 필요가 없습니다. 따라서 마이그레이션 중에는 ENCODE 문이 제거됩니다.

여기를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

문법 구문

 ENCODE encoding
Copy

샘플 소스 패턴

입력 코드:

 CREATE TABLE table1 (
    col1 INTEGER ENCODE DELTA
);
Copy
출력 코드:
 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

알려진 문제는 없습니다.

GENERATED BY DEFAULT AS IDENTITY

설명

열을 기본값 IDENTITY 열로 지정하고 열에 고유 값을 자동으로 할당할 수 있도록 합니다.

여기를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동하십시오.

문법 구문

 GENERATED BY DEFAULT AS IDENTITY ( seed, step )
Copy

샘플 소스 패턴

입력 코드:

 CREATE TABLE table1 (
    col1 INTEGER GENERATED BY DEFAULT AS IDENTITY(1,1)
);
Copy
출력 코드:
 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

알려진 문제는 없습니다.

IDENTITY

설명

열이 IDENTITY 열임을 지정하는 절입니다. (RedShift SQL Language Reference ID).

문법 구문

 IDENTITY ( seed, step )
Copy

샘플 소스 패턴

입력 코드:

 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

출력 코드:
 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

알려진 문제

문제가 발견되지 않았습니다.

관련 EWIs

알려진 문제는 없습니다.

SORTKEY

설명

열이 테이블의 정렬 키임을 지정하는 키워드입니다. 둘 다 쿼리 성능을 위해 데이터 저장소를 최적화하기 때문에 Snowflake에서 Redshift의 SORTKEYCLUSTERBY 로 마이그레이션할 수 있습니다. CLUSTERBY 는 Redshift의 SORTKEY 에서 데이터를 주문하는 방식과 유사하게 지정된 열에 대해 데이터를 조직화합니다.

여기 를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

문법 구문

 SORTKEY
Copy

샘플 소스 패턴

입력 코드:

 CREATE TABLE table1 (
    col1 INTEGER SORTKEY
);
Copy
출력 코드:
 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

알려진 문제

  1. SSC-FDM-RS0002: CLUSTER BY 의 성능은 Sortkey 또는 Distkey의 성능과 다를 수 있습니다.

테이블 특성

DISTKEY

설명

Amazon Redshift에서는 DISTKEY 를 사용하여 클러스터 노드 간에 데이터를 분산하여 쿼리 성능을 최적화합니다. 하지만 Snowflake는 명시적 배포 키 없이도 데이터 배포와 저장소를 자동으로 처리합니다. 아키텍처와 데이터 관리 접근법의 차이로 인해, Snowflake는 Redshift의 DISTKEY 와 직접적으로 동등한 기능을 가지고 있지 않습니다.

여기 를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

문법 구문

 DISTKEY ( column_name )
Copy

샘플 소스 패턴

입력 코드:

 CREATE TABLE table1 (
    col1 INTEGER
)
DISTKEY (col1);
Copy
출력 코드:
 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

  1. SSC-FDM-RS0001: 지원되지 않는 옵션입니다. 데이터 저장소는 Snowflake에서 자동으로 처리합니다.

DISTSTYLE

설명

전체 테이블의 데이터 배포 스타일을 정의하는 키워드입니다.

여기 를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

문법 구문

 DISTSTYLE { AUTO | EVEN | KEY | ALL }
Copy

샘플 소스 패턴

입력 코드:

 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
출력 코드:
 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

  1. SSC-FDM-RS0001: 지원되지 않는 옵션입니다. 데이터 저장소는 Snowflake에서 자동으로 처리합니다.

ENCODE

설명

Snowflake에서는 수동 인코딩 설정이 필요한 Redshift와 달리 데이터 압축을 자동으로 처리하므로 ENCODE 를 정의할 필요가 없습니다. 따라서 마이그레이션 중에는 ENCODE 문이 제거됩니다.

여기를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

문법 구문

 ENCODE AUTO
Copy

샘플 소스 패턴

입력 코드:

 CREATE TABLE table1 (
    col1 INTEGER
)
ENCODE AUTO;
Copy
출력 코드:
 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

알려진 문제는 없습니다.

SORTKEY

설명

열이 테이블의 정렬 키임을 지정하는 키워드입니다. 둘 다 쿼리 성능을 위해 데이터 저장소를 최적화하기 때문에 Snowflake에서 Redshift의 SORTKEYCLUSTERBY 로 마이그레이션할 수 있습니다. CLUSTERBY 는 Redshift의 SORTKEY 에서 데이터를 주문하는 방식과 유사하게 지정된 열에 대해 데이터를 조직화합니다.

여기 를 클릭하여 이 구문에 대한 Amazon Redshift 문서 페이지로 이동합니다.

문법 구문

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

샘플 소스 패턴

입력 코드:

 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
출력 코드:
 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

  1. SSC-FDM-RS0001: 지원되지 않는 옵션입니다. 데이터 저장소는 Snowflake에서 자동으로 처리합니다.

  2. SSC-FDM-RS0002: CLUSTER BY 의 성능은 Sortkey의 성능과 다를 수 있습니다.