다음을 통해 공유


ALTER VIEW

적용 대상:예로 표시된 확인 Databricks SQL 예로 표시된 확인 Databricks Runtime

뷰와 연결된 메타데이터를 변경합니다. 보기의 정의를 set 변경하고, 보기의 이름을 다른 이름으로 변경하며, TBLPROPERTIES설정하여 보기의 메타데이터를 설정 해제할 수 있습니다.

보기나 columns의 주석을 추가하거나 변경하려면 COMMENT ON을 사용하세요.

뷰가 캐시된 경우 이 명령은 뷰의 캐시된 데이터와 뷰를 참조하는 모든 종속 항목을 지웁니다. 다음에 뷰에 액세스할 때는 뷰 캐시가 채워지는 시간이 지연됩니다. 이 명령은 뷰의 종속 항목을 캐시되지 않은 상태로 둡니다.

구문

ALTER VIEW view_name
  { rename |
    SET TBLPROPERTIES clause |
    UNSET TBLPROPERTIES clause |
    alter_body |
    schema_binding |
    owner_to |
    SET TAGS clause |
    UNSET TAGS clause }

rename
  RENAME TO to_view_name

alter_body
  AS query

schema_binding
  WITH SCHEMA { BINDING | [ TYPE ] EVOLUTION | COMPENSATION }

property_key
  { idenitifier [. ...] | string_literal }

owner_to
  [ SET ] OWNER TO principal

Parameters

  • view_name

    변경할 뷰를 식별합니다. 뷰를 찾을 수 없으면 Azure Databricks에서 TABLE_OR_VIEW_NOT_FOUND 오류가 발생합니다.

  • RENAME TO to_view_name

    schema내의 기존 뷰 이름을 바꿉니다. 구현된 views은 이름을 바꿀 수 없습니다.

    to_view_name은 뷰의 새 이름을 지정합니다. to_view_name이 이미 있으면 TableAlreadyExistsException이 throw됩니다. to_view_name가 정규화된 경우, view_nameschema 이름과 일치해야 합니다.

  • SET TBLPROPERTIES

    하나 이상의 사용자 정의 속성을 설정 또는 다시 설정합니다.

  • UNSET TBLPROPERTIES

    사용자 정의 속성을 하나 이상 제거합니다.

  • AS query

    기본 tables 또는 다른 views뷰를 구성하는 쿼리입니다.

    이 절은 뷰에 부여된 권한이 유지된다는 점을 제외하고 기존 뷰의 CREATE OR REPLACE VIEW 문과 동일합니다.

  • schema_binding

    적용 대상:예로 표시된 확인 Databricks Runtime 15.3 이상

    기본 개체 정의의 변경으로 인해 뷰의 후속 쿼리가 뷰의 schema 변경 내용에 맞게 조정되는 방식을 지정합니다. 자세한 바인딩 모드는 과 함께 참조하십시오.

  • [ SET ] 소유자 책임자

    뷰의 소유권을 principal로 이전합니다. hive_metastore에 뷰가 정의되지 않은 경우 사용자가 속한 그룹에만 소유권을 이전할 수 있습니다.

    적용 대상:예로 표시된 확인 Databricks SQL 예로 표시된 확인 Databricks Runtime 11.3 LTS 이상

    SET는 선택적 키워드로 허용됩니다.

  • SET TAGS ( { tag_name = tag_value } [, ...] )

    보기에 태그를 적용합니다. 뷰에 APPLY TAG 태그를 추가할 수 있는 권한이 있어야 합니다.

    적용 대상:예로 표시된 확인 Databricks SQL 예로 표시된 확인 Databricks Runtime 13.3 LTS 이상

  • UNSET 태그 ( tag_name [, ...] )

    table의 태그를 Remove로 옮깁니다. APPLY TAG 권한이 있어야 보기에서 remove 태그를 추가할 수 있습니다.

    적용 대상:예로 표시된 확인 Databricks SQL 예로 표시된 확인 Databricks Runtime 13.3 LTS 이상

  • tag_name

    리터럴 STRING입니다. tag_name 뷰 내에서 고유해야 합니다.

  • tag_value

    리터럴 STRING입니다.

예제

-- Rename only changes the view name.
-- The source and target schemas of the view have to be the same.
-- Use qualified or unqualified name for the source and target view.
> ALTER VIEW tempsc1.v1 RENAME TO tempsc1.v2;

-- Verify that the new view is created.
> DESCRIBE TABLE EXTENDED tempsc1.v2;
                            c1       int   NULL
                            c2    string   NULL

  # Detailed Table Information
                      Database   tempsc1
                         Table        v2

-- Before ALTER VIEW SET TBLPROPERTIES
> DESCRIBE TABLE EXTENDED tempsc1.v2;
                            c1       int   null
                            c2    string   null

  # Detailed Table Information
                      Database   tempsc1
                         Table        v2
              Table Properties    [....]

-- Set properties in TBLPROPERTIES
> ALTER VIEW tempsc1.v2 SET TBLPROPERTIES ('created.by.user' = "John", 'created.date' = '01-01-2001' );

-- Use `DESCRIBE TABLE EXTENDED tempsc1.v2` to verify
> DESCRIBE TABLE EXTENDED tempsc1.v2;
                            c1                                                   int   NULL
                            c2                                                string   NULL

  # Detailed Table Information
                      Database                                               tempsc1
                         Table                                                    v2
              Table Properties [created.by.user=John, created.date=01-01-2001, ....]

-- Remove the key created.by.user and created.date from `TBLPROPERTIES`
> ALTER VIEW tempsc1.v2 UNSET TBLPROPERTIES (`created`.`by`.`user`, created.date);

-- Use `DESCRIBE TABLE EXTENDED tempsc1.v2` to verify the changes
> DESCRIBE TABLE EXTENDED tempsc1.v2;
                            c1       int   NULL
                            c2    string   NULL

  # Detailed Table Information
                      Database   tempsc1
                         Table        v2
              Table Properties    [....]

-- Change the view definition
> ALTER VIEW tempsc1.v2 AS SELECT * FROM tempsc1.v1;

-- Use `DESCRIBE TABLE EXTENDED` to verify
> DESCRIBE TABLE EXTENDED tempsc1.v2;
                            c1                        int   NULL
                            c2                     string   NULL

  # Detailed Table Information
                      Database                    tempsc1
                         Table                         v2
                          Type                       VIEW
                     View Text   select * from tempsc1.v1
            View Original Text   select * from tempsc1.v1

-- Transfer ownership of a view to another user
> ALTER VIEW v1 OWNER TO `alf@melmak.et`

-- Change the view schema binding to adopt type evolution
> ALTER VIEW v1 WITH SCHEMA TYPE EVOLUTION;

-- Applies three tags to the view named `test`.
> ALTER VIEW test SET TAGS ('tag1' = 'val1', 'tag2' = 'val2', 'tag3' = 'val3');

-- Removes three tags from the view named `test`.
> ALTER VIEW test UNSET TAGS ('tag1', 'tag2', 'tag3');