CREATE OR ALTER VERSIONED SCHEMA

버전이 지정된 새 스키마를 생성하거나 버전이 지정된 기존 스키마를 수정합니다. 이 명령은 Native Apps Framework의 애플리케이션 인스턴스에 대해서만 지원됩니다.

참고 항목:

CREATE APPLICATION, CREATE APPLICATION PACKAGE

구문

CREATE OR ALTER VERSIONED SCHEMA <name>
  [ WITH MANAGED ACCESS ]
  [ DATA_RETENTION_TIME_IN_DAYS = ]
  [ MAX_DATA_EXTENSION_TIME_IN_DAYS = ]
  [ DEFAULT_DDL_COLLATION = '<collation_specification>' ]
  [ COMMENT = '<string_literal>' ]
Copy

필수 매개 변수

name

스키마에 대한 식별자를 지정하며, 이는 스키마가 생성된 애플리케이션 인스턴스에 대해 고유한 식별자여야 합니다.

또한, 식별자는 알파벳 문자로 시작해야 하며 전체 식별자 문자열을 큰따옴표(예: "My object")로 묶지 않는 한 공백이나 특수 문자를 포함할 수 없습니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.

자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.

선택적 매개 변수

WITH MANAGED ACCESS

관리 대상 버전 지정 스키마를 지정합니다. 관리되는 액세스 버전 지정 스키마는 스키마 소유자와 함께 권한 관리를 중앙 집중화합니다.

일반 버전 지정 스키마에서 오브젝트의 소유자(즉, 오브젝트에 대한 OWNERSHIP 권한을 가진 역할)는 자신의 오브젝트에 대한 추가 권한을 다른 역할에 부여할 수 있습니다.

관리되는 스키마에서 스키마 소유자는 스키마의 오브젝트에 대해 향후의 권한 부여 를 포함한 모든 권한 부여를 관리합니다. 오브젝트 소유자는 오브젝트에 대한 OWNERSHIP 권한을 유지하지만, 스키마 소유자만이 오브젝트에 대한 권한 부여를 관리할 수 있습니다.

DATA_RETENTION_TIME_IN_DAYS = integer

스키마에서 Time Travel 작업(CLONE 및 UNDROP)을 수행할 수 있는 일수뿐 아니라, 스키마에서 생성된 모든 테이블의 기본 Time Travel 보존 시간도 지정합니다. 자세한 내용은 Time Travel 이해 및 사용하기 섹션을 참조하십시오.

이 오브젝트 수준 매개 변수에 대한 자세한 설명과 아울러 오브젝트 매개 변수에 대한 자세한 내용은 매개 변수 섹션을 참조하십시오. 테이블 수준 보존 시간에 대한 자세한 내용은 CREATE TABLETime Travel 이해 및 사용하기 섹션을 참조하십시오.

값:

  • Standard Edition: 0 또는 1

  • Enterprise Edition:

    • 영구 스키마의 경우 0 ~ 90

    • 일시적 스키마의 경우 0 또는 1

기본값:

  • Standard Edition: 1

  • Enterprise Edition 또는 그 이상: 1 (데이터베이스 또는 계정 수준에서 다른 기본값이 지정되지 않은 경우)

참고

0 의 값은 스키마의 Time Travel을 효과적으로 비활성화합니다.

MAX_DATA_EXTENSION_TIME_IN_DAYS = integer

Snowflake가 테이블의 스트림이 부실해지는 것을 방지하기 위해 스키마에 있는 테이블의 데이터 보존 기간을 연장할 수 있는 최대 일수를 지정하는 오브젝트 매개 변수입니다.

이 매개 변수에 대한 자세한 설명은 MAX_DATA_EXTENSION_TIME_IN_DAYS 섹션을 참조하십시오.

DEFAULT_DDL_COLLATION = 'collation_specification'

스키마에 추가된 모든 테이블에 대한 기본 데이터 정렬 사양 을 지정합니다. 개별 테이블 수준에서 기본값을 재정의할 수 있습니다.

이 매개 변수에 대한 자세한 내용은 DEFAULT_DDL_COLLATION 을 참조하십시오.

COMMENT = 'string_literal'

스키마에 대한 설명을 지정합니다.

기본값: 값 없음

액세스 제어 요구 사항

이 SQL 명령을 실행하는 데 사용되는 역할 에는 최소한 다음 권한 이 있어야 합니다.

권한

오브젝트

참고

CREATE SCHEMA

애플리케이션

스키마가 이미 존재하고 스키마를 수정하려는 경우 애플리케이션에 대한 OWNERSHIP 권한이 필요합니다.

지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.

보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.

참고

일반적으로 설정 스크립트에서 버전이 지정된 스키마를 생성하지만, 다음 위치에서 버전이 지정된 스키마를 생성할 수 있습니다.

  • 소유자의 권한 저장 프로시저에서.

  • 애플리케이션에 대해 CREATE SCHEMA 권한이 있는 애플리케이션 역할을 사용하는 컨슈머 계정에서.

사용법 노트

  • 스키마가 존재하지 않는 경우 Snowflake는 버전이 지정된 스키마를 생성합니다.

  • 스키마가 존재하고 이미 명령과 일치하는 경우 Snowflake는 이를 작업이 없는 것으로 봅니다.

  • 스키마가 존재하고 명령과 일치하지 않는 경우 Snowflake는 명령과 일치하도록 버전이 지정된 스키마를 수정합니다.