ALTER MATERIALIZED VIEW

현재/지정된 스키마에서 구체화된 뷰를 변경합니다. 다음과 같은 작업이 지원됩니다.

  • 구체화된 뷰의 이름 바꾸기.

  • 구체화된 뷰의 사용 및 유지 관리 일시 중단 및 다시 시작.

  • 구체화된 뷰 클러스터링.

  • 구체화된 뷰의 재클러스터링 일시 중단 및 다시 시작.

  • 구체화된 뷰의 클러스터링 삭제.

자세한 내용은 구체화된 뷰 작업하기 섹션을 참조하십시오.

참고 항목:

CREATE MATERIALIZED VIEW , DROP MATERIALIZED VIEW , SHOW MATERIALIZED VIEWS , DESCRIBE MATERIALIZED VIEW

구문

ALTER MATERIALIZED VIEW <name>
  {
  RENAME TO <new_name>                     |
  CLUSTER BY ( <expr1> [, <expr2> ... ] )  |
  DROP CLUSTERING KEY                      |
  SUSPEND RECLUSTER                        |
  RESUME RECLUSTER                         |
  SUSPEND                                  |
  RESUME                                   |
  SET {
    [ SECURE ]
    [ COMMENT = '<comment>' ]
    }                                      |
  UNSET {
    SECURE                                 |
    COMMENT
    }
  }
Copy

매개 변수

name

변경할 구체화된 뷰의 식별자를 지정합니다.

RENAME TO new_name

이 옵션을 사용하면 구체화된 뷰의 이름을 바꿀 수 있습니다.

새 식별자는 뷰가 생성되는 스키마에 대해 고유한 식별자여야 합니다. 새 식별자는 알파벳 문자로 시작해야 하며 전체 식별자 문자열을 큰따옴표(예: "My object")로 묶지 않는 한 공백이나 특수 문자를 포함할 수 없습니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다. 자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.

선택적으로 오브젝트의 이름을 바꾸는 동안 오브젝트를 다른 데이터베이스 및/또는 스키마로 이동할 수 있습니다. 그러려면 각각 db_name.schema_name.object_name 또는 schema_name.object_name 형식으로 새 데이터베이스 및/또는 스키마 이름을 포함하는 정규화된 new_name 값을 지정하십시오.

참고

  • 대상 데이터베이스 및/또는 스키마가 이미 있어야 합니다. 또한, 새 위치에 이름이 같은 오브젝트가 있으면 안 됩니다. 그렇지 않으면 문이 오류를 반환합니다.

  • 오브젝트 소유자(즉, 오브젝트에 대한 OWNERSHIP 권한을 가진 역할) 역시 대상 스키마를 소유하지 않는 한 오브젝트를 관리되는 액세스 스키마로 이동하는 것은 금지됩니다.

구체화된 뷰의 이름을 바꾸어도 그 뷰에 대한 참조는 업데이트되지 않습니다. 예를 들어 구체화된 뷰 위에 V1 로 명명된 뷰를 만든 다음 구체화된 뷰의 이름을 바꾸면 뷰 V1 의 정의가 쓸모없어집니다.

CLUSTER BY expr#

이 명령은 구체화된 뷰를 클러스터링합니다. 클러스터링하면 구체화된 뷰의 행을 다시 정렬하여 클러스터링 키 식을 기반으로 필터링하는 쿼리의 성능이 향상됩니다.

expr# 은 구체화된 뷰를 클러스터링할 식을 지정합니다. 일반적으로, 각각의 식은 구체화된 뷰에 있는 열의 이름입니다.

구체화된 뷰 클러스터링에 대한 자세한 내용은 구체화된 뷰 및 클러스터링 을 참조하십시오. 일반적으로 클러스터링에 대한 자세한 내용은 데이터 클러스터링이란 무엇입니까? 를 참조하십시오.

DROP CLUSTERING KEY

이 명령을 실행하면 구체화된 뷰의 클러스터링이 삭제됩니다.

SUSPEND RECLUSTER

SUSPEND RECLUSTER 옵션은 구체화된 뷰의 재클러스터링을 일시 중단합니다. 구체화된 뷰 클러스터링에 대한 자세한 내용은 구체화된 뷰 및 클러스터링 을 참조하십시오.

RESUME RECLUSTER

RESUME RECLUSTER 옵션은 구체화된 뷰의 재클러스터링을 다시 시작합니다.

SUSPEND

SUSPEND 옵션은 구체화된 뷰의 유지 관리(업데이트)와 사용을 일시 중단합니다. 뷰가 일시 중단된 상태에서는 기본 테이블에 대한 업데이트가 구체화된 뷰로 전파되지 않습니다. 구체화된 뷰 자체에도 액세스할 수 없습니다. 구체화된 뷰를 사용하려고 하면 다음과 비슷한 오류 메시지가 표시됩니다.

Failure during expansion of view 'MV1':
  SQL compilation error: Materialized View MV1 is invalid.
  Invalidation reason: Marked Materialized View as invalid manually.

클러스터로 묶인 구체화된 뷰를 일시 중단하는 경우 뷰를 일시 중단하면 그 뷰의 재클러스터링이 암시적으로 일시 중단됩니다.

RESUME

RESUME 옵션을 사용하면 구체화된 뷰를 다시 사용하기 시작할 수 있습니다. 구체화된 뷰의 유지 관리도 다시 시작됩니다. 뷰가 클러스터링된 경우 그 뷰의 재클러스터링도 암시적으로 다시 시작됩니다.

SET ...

구체화된 뷰에 대해 설정할 속성을 지정합니다.

SECURE

이 옵션을 선택하면 뷰가 보안 뷰로 바뀝니다. 보안 뷰에 대한 자세한 내용은 보안 뷰 관련 작업하기 을 참조하십시오.

COMMENT = 'string_literal'

이 옵션은 구체화된 뷰에 대한 설명을 설정합니다. 설명은 뷰의 동작에 아무런 영향도 미치지 않지만, 뷰를 사용하거나 유지 관리하는 사람들에게 유용한 정보를 제공할 수 있습니다.

UNSET ...

구체화된 뷰에 대해 설정 해제할 속성을 지정합니다.

  • SECURE

  • TAG tag_name [ , tag_name ... ]

  • COMMENT

사용법 노트

  • ALTER VIEW 명령을 사용하여 구체화된 뷰에 대해 또는 구체화된 뷰에서 마스킹 정책, 행 액세스 정책 또는 태그를 설정/설정 해제합니다.

  • 메타데이터 관련:

    주의

    고객은 Snowflake 서비스를 사용할 때 개인 데이터(사용자 오브젝트 제외), 민감한 데이터, 수출 통제 대상 데이터 또는 기타 규제 데이터가 메타데이터로 입력되지 않도록 해야 합니다. 자세한 내용은 Snowflake의 메타데이터 필드 섹션을 참조하십시오.

구체화된 뷰의 이름 바꾸기:

ALTER MATERIALIZED VIEW table1_MV RENAME TO my_mv;
Copy

구체화된 뷰 클러스터링:

ALTER MATERIALIZED VIEW my_mv CLUSTER BY(i);
Copy

구체화된 뷰의 클러스터링을 일시 중단하지만 뷰는 사용하지 않음:

ALTER MATERIALIZED VIEW my_mv SUSPEND RECLUSTER;
Copy

구체화된 뷰의 클러스터링 다시 시작:

ALTER MATERIALIZED VIEW my_mv RESUME RECLUSTER;
Copy

지정된 구체화된 뷰의 모든 사용 및 자동 유지 관리 일시 중단:

ALTER MATERIALIZED VIEW my_mv SUSPEND;
Copy

지정된 구체화된 뷰의 모든 사용 및 자동 유지 관리 다시 시작:

ALTER MATERIALIZED VIEW my_mv RESUME;
Copy

구체화된 뷰 클러스터링 중지:

ALTER MATERIALIZED VIEW my_mv DROP CLUSTERING KEY;
Copy

뷰를 보안 뷰로 수정:

ALTER MATERIALIZED VIEW mv1 SET SECURE;
Copy

구체화된 뷰에 대한 설명 추가 또는 바꾸기:

ALTER MATERIALIZED VIEW mv1 SET COMMENT = 'Sample view';
Copy