ALTER VIEW

기존 뷰의 속성을 수정합니다. 현재 유일하게 지원되는 작업은 다음과 같습니다.

  • 뷰 이름 바꾸기.

  • 보안 뷰로 변환(또는 되돌리기).

  • 뷰에 대한 설명 추가, 덮어쓰기, 제거.

이 명령을 사용하여 뷰에 대한 정의를 변경할 수 없습니다. 뷰 정의를 변경하려면 뷰를 삭제한 다음 다시 만들어야 합니다.

참고 항목:

CREATE VIEW , DROP VIEW , SHOW VIEWS , DESCRIBE VIEW

구문

ALTER VIEW [ IF EXISTS ] <name> RENAME TO <new_name>

ALTER VIEW [ IF EXISTS ] <name> SET COMMENT = '<string_literal>'

ALTER VIEW [ IF EXISTS ] <name> UNSET COMMENT

ALTER VIEW [ IF EXISTS ] <name> SET SECURE

ALTER VIEW [ IF EXISTS ] <name> SET CHANGE_TRACKING =  { TRUE | FALSE }

ALTER VIEW <name> UNSET SECURE

ALTER VIEW <name> dataMetricFunctionAction

ALTER VIEW [ IF EXISTS ] <name> dataGovnPolicyTagAction
Copy

여기서

dataMetricFunctionAction ::=

    SET DATA_METRIC_SCHEDULE = {
        '<num> MINUTE'
      | 'USING CRON <expr> <time_zone>'
      | 'TRIGGER_ON_CHANGES'
    }

  | UNSET DATA_METRIC_SCHEDULE

  | { ADD | DROP } DATA METRIC FUNCTION <metric_name>
      ON ( <col_name> [ , ... ] )
      [ , <metric_name_2> ON ( <col_name> [ , ... ] ) ]
  | MODIFY DATA METRIC FUNCTION <metric_name>
      ON ( <col_name> [ , ... ] ) { SUSPEND | RESUME }
      [ , <metric_name_2> ON ( <col_name> [ , ... ] ) { SUSPEND | RESUME } ]
Copy
dataGovnPolicyTagAction ::=
  {
      SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]
    | UNSET TAG <tag_name> [ , <tag_name> ... ]
  }
  |
  {
      ADD ROW ACCESS POLICY <policy_name> ON ( <col_name> [ , ... ] )
    | DROP ROW ACCESS POLICY <policy_name>
    | DROP ROW ACCESS POLICY <policy_name> ,
        ADD ROW ACCESS POLICY <policy_name> ON ( <col_name> [ , ... ] )
    | DROP ALL ROW ACCESS POLICIES
  }
  |
  {
      SET AGGREGATION POLICY <policy_name>
        [ ENTITY KEY ( <col_name> [, ... ] ) ]
        [ FORCE ]
    | UNSET AGGREGATION POLICY
  }
  |
  ADD [ COLUMN ] [ IF NOT EXISTS ] <col_name> <col_type>
    [ [ WITH ] MASKING POLICY <policy_name>
          [ USING ( <col1_name> , <cond_col_1> , ... ) ] ]
    [ [ WITH ] PROJECTION POLICY <policy_name> ]
    [ [ WITH ] TAG ( <tag_name> = '<tag_value>'
          [ , <tag_name> = '<tag_value>' , ... ] ) ]
  |
  {
    { ALTER | MODIFY } [ COLUMN ] <col1_name>
        SET MASKING POLICY <policy_name>
          [ USING ( <col1_name> , <cond_col_1> , ... ) ] [ FORCE ]
      | UNSET MASKING POLICY
  }
  |
  {
    { ALTER | MODIFY } [ COLUMN ] <col1_name>
        SET PROJECTION POLICY <policy_name>
          [ FORCE ]
      | UNSET PROJECTION POLICY
  }
  |
  { ALTER | MODIFY } [ COLUMN ] <col1_name> SET TAG
      <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]
      , [ COLUMN ] <col2_name> SET TAG
          <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]
  |
  { ALTER | MODIFY } [ COLUMN ] <col1_name> UNSET TAG <tag_name> [ , <tag_name> ... ]
                   , [ COLUMN ] <col2_name> UNSET TAG <tag_name> [ , <tag_name> ... ]
Copy

매개 변수

name

변경할 뷰의 식별자를 지정합니다. 식별자에 공백이나 특수 문자가 포함된 경우 전체 문자열을 큰따옴표로 묶어야 합니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.

RENAME TO new_name

뷰에 대해 새 식별자를 지정하는데, 스키마에 대해 고유한 식별자여야 합니다.

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

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

참고

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

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

오브젝트의 이름이 바뀌면 그 오브젝트를 참조하는 다른 오브젝트도 새 이름으로 업데이트해야 합니다.

SET ...

뷰에 대해 설정할 속성을 지정합니다.

SECURE

뷰를 보안으로 지정합니다.

CHANGE_TRACKING = TRUE | FALSE

테이블에서 변경 내용 추적을 활성화 또는 비활성화하도록 지정합니다.

  • TRUE 를 지정하면 뷰에서 변경 내용 추적이 활성화되고 설정이 모든 기본 테이블에 계단식으로 적용됩니다.

  • FALSE 를 지정하면 뷰에서 변경 내용 추적이 비활성화되고 설정이 모든 기본 테이블에 계단식으로 적용됩니다.

COMMENT = 'string_literal'

뷰에 대한 설명을 추가하거나 기존 설명을 덮어씁니다.

참고

각 뷰 속성을 개별적으로 설정해야 합니다.

UNSET ...

뷰에 대해 설정 해제할 속성을 지정하여 기본값으로 재설정합니다.

  • SECURE

  • COMMENT

속성을 재설정할 때는 이름만 지정하십시오. 속성 값을 지정하면 오류가 반환됩니다.

참고

각 뷰 속성을 개별적으로 재설정해야 합니다.

데이터 메트릭 함수 작업(dataMetricFunctionAction)

DATA_METRIC_SCHEDULE ...

데이터 메트릭 함수를 주기적으로 실행할 일정을 지정합니다.

'num MINUTE'

데이터 메트릭 함수의 실행 사이에 삽입되는 대기 시간의 간격(분)을 지정합니다. 양의 정수만 허용합니다.

또한 num M 구문을 지원합니다.

데이터 메트릭 함수의 경우 5, 15, 30, 60, 720 또는 1440 값 중 하나를 사용합니다.

'USING CRON expr time_zone'

데이터 메트릭 함수를 주기적으로 실행하기 cron 식과 타임존을 지정합니다. 표준 cron 유틸리티 구문의 서브세트를 지원합니다.

타임존 목록은 tz 데이터베이스 타임존 목록 을 참조하십시오.

Cron 식은 다음 필드로 구성되며, 주기 간격은 최소 5분이어야 합니다.

# __________ minute (0-59)
# | ________ hour (0-23)
# | | ______ day of month (1-31, or L)
# | | | ____ month (1-12, JAN-DEC)
# | | | | _ day of week (0-6, SUN-SAT, or L)
# | | | | |
# | | | | |
  * * * * *
Copy

다음 특수 문자가 지원됩니다.

*

와일드카드. 필드의 모든 발생을 지정합니다.

L

“last(마지막)”를 의미합니다. day-of-month(요일) 필드에 사용하면 해당 월의 “마지막 금요일”(“5L”)과 같은 구문을 지정할 수 있습니다. day-of-month 필드에서는 해당 월의 마지막 요일을 지정합니다.

/{n}

주어진 시간 단위의 n번째 인스턴스를 나타냅니다. 시간의 각 양은 독립적으로 계산됩니다. 예를 들어, 월 필드에 4/3 이 지정된 경우 데이터 메트릭 함수는 4월, 7월, 10월(즉, 해당 연도의 4번째 달부터 3개월마다)에 대해 예약됩니다. 다음 해에도 동일한 일정이 유지됩니다. 즉, 데이터 메트릭 함수는 1월(10월 실행 후 3개월)에 실행되도록 예약되지 않습니다.

참고

  • cron 식은 현재 지정된 타임존에 대해서만 계산됩니다. 계정에 대한 TIMEZONE 매개 변수 값을 변경하는 것(또는 사용자 또는 세션 수준에서 값을 설정)은 데이터 메트릭 함수의 타임존을 변경하지는 않습니다.

  • cron 식은 데이터 메트릭 함수에 대한 모든 유효한 실행 시간을 정의합니다. Snowflake는 이 일정을 기준으로 데이터 메트릭 함수를 실행하려 하지만, 그다음의 유효한 실행 시간이 시작되기 전에 이전 실행이 완료되지 않은 경우에는 유효한 실행 시간을 건너뜁니다.

  • 특정 일자와 요일이 cron 식에 포함된 경우, 일자 또는 요일 중 하나를 만족하는 날짜에 데이터 메트릭 함수가 예약됩니다. 예를 들어, DATA_METRIC_SCHEDULE = 'USING CRON 0 0 10-20 * TUE,THU UTC' 는 해당 월의 10일에서 20일 사이에서 0AM에 데이터 메트릭 함수를 예약하고 해당 날짜 이외의 모든 화요일이나 목요일에도 작업을 예약합니다.

  • cron에서 가장 짧은 시간 단위는 분입니다.

    데이터 메트릭 함수가 cron 식에 정의된 분 동안 재개될 경우 데이터 메트릭 함수의 첫 번째 예약 실행은 다음 발생하는 cron 식 인스턴스입니다. 예를 들어, 매일 자정에 실행하도록 예약된 데이터 메트릭 함수(USING CRON 0 0 * * *)가 자정에 5초를 더한 시간(00:00:05)에 재개되는 경우 첫 번째 데이터 메트릭 함수 실행은 다음 자정으로 예약됩니다.

'TRIGGER_ON_CHANGES'

새 행을 삽입하거나 행을 삭제하는 등 DML 작업 으로 테이블을 수정할 때 DMF가 실행되도록 지정합니다.

다음 오브젝트에 대해 'TRIGGER_ON_CHANGES' 를 지정할 수 있습니다.

  • 동적 테이블

  • 외부 테이블

  • Apache Iceberg™ 테이블

  • 일반 테이블

  • 임시 테이블

  • 일시적 테이블

재클러스터링 으로 인해 테이블이 변경되어도 DMF의 실행이 트리거되지 않습니다.

{ ADD | DROP } DATA METRIC FUNCTION metric_name

테이블이나 뷰에 추가하거나 테이블이나 뷰에서 삭제할 데이터 메트릭 함수의 식별자입니다.

ON ( col_name [ , ... ] )

데이터 메트릭 함수를 연결할 테이블 또는 뷰 열입니다. 열의 데이터 타입은 데이터 메트릭 함수 정의에 지정된 열의 데이터 타입과 일치해야 합니다.

[ , metric_name_2 ON ( col_name [ , ... ] ) [ , ... ] ]

테이블이나 뷰에 추가할 추가 데이터 메트릭 함수입니다. 쉼표를 사용하여 각 데이터 메트릭 함수와 지정된 열을 구분합니다.

MODIFY DATA METRIC FUNCTION metric_name

수정할 데이터 메트릭 함수의 식별자입니다.

ON ( col_name [ , ... ] ) { SUSPEND | RESUME }

지정된 열에서 데이터 메트릭 함수를 일시 중단하거나 재개합니다. 테이블이나 뷰에 데이터 메트릭 함수가 설정되면 해당 데이터 메트릭 함수가 일정에 자동으로 포함됩니다.

  • SUSPEND 는 일정에서 데이터 메트릭 함수를 제거합니다.

  • RESUME 은 일시 중단된 날짜 메트릭 함수를 일정으로 다시 가져옵니다.

[ , metric_name_2 ON ( col_name [ , ... ] ) [ , ... ] { SUSPEND | RESUME } ]

추가로 일시 중단 또는 재개할 데이터 메트릭 함수입니다. 쉼표를 사용하여 각 데이터 메트릭 함수와 지정된 열을 구분합니다.

이러한 작업에 대한 액세스 제어 요구 사항에 대한 자세한 내용은 DMF 권한 섹션을 참조하십시오.

데이터 거버넌스 정책 및 태그 작업(dataGovnPolicyTagAction)

TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]

태그 이름과 태그 문자열 값을 지정합니다.

태그 값은 항상 문자열이며, 태그 값의 최대 문자 수는 256자입니다.

문에서 태그를 지정하는 방법에 대한 자세한 내용은 오브젝트 및 열에 대한 태그 할당량 섹션을 참조하십시오.

policy_name

정책의 식별자로, 스키마에 고유한 식별자여야 합니다.

다음 절은 테이블, 뷰, 이벤트 테이블 등 행 액세스 정책을 지원하는 모든 테이블 종류에 적용됩니다. 단순화하기 위해 해당 절에서는 “테이블”만 참조합니다.

ADD ROW ACCESS POLICY policy_name ON (col_name [ , ... ])

테이블에 행 액세스 정책을 추가합니다.

하나 이상의 열 이름을 지정해야 합니다. 각 열 이름을 구분하는 쉼표로 추가 열을 지정할 수 있습니다. 이 식을 사용하여 이벤트 테이블과 외부 테이블에 모두 행 액세스 정책을 추가합니다.

DROP ROW ACCESS POLICY policy_name

테이블에서 행 액세스 정책을 삭제합니다.

이 절을 사용하여 테이블에서 정책을 삭제합니다.

DROP ROW ACCESS POLICY policy_name, ADD ROW ACCESS POLICY policy_name ON ( col_name [ , ... ] )

테이블에 설정된 행 액세스 정책을 삭제하고 단일 SQL 문으로 동일한 테이블에 행 액세스 정책을 추가합니다.

DROP ALL ROW ACCESS POLICIES

테이블에서 모든 행 액세스 정책 연결을 삭제합니다.

이 식은 스키마에서 행 액세스 정책을 삭제한 후에 이벤트 테이블에서 정책을 삭제할 때 유용합니다. 테이블에서 행 액세스 정책 연결을 삭제하려면 이 식을 사용하십시오.

SET AGGREGATION POLICY policy_name
[ ENTITY KEY (col_name [ , ... ]) ] [ FORCE ]

테이블에 집계 정책 을 할당합니다.

선택적 ENTITY KEY 매개 변수를 사용하여 테이블 내에서 엔터티의 ID를 고유하게 지정하는 열을 정의할 수 있습니다. 자세한 내용은 집계 정책을 사용하여 엔터티 수준 개인정보 보호 구현하기 섹션을 참조하십시오.

기존 집계 정책을 새 집계 정책으로 원자적으로 바꾸려면 선택적 FORCE 매개 변수를 사용하십시오.

UNSET AGGREGATION POLICY

테이블에서 집계 정책을 분리합니다.

{ ALTER | MODIFY } [ COLUMN ] ...
USING ( col_name , cond_col_1 ... )

조건부 마스킹 정책 SQL 식에 전달할 인자를 지정합니다.

목록의 첫 번째 열은 데이터를 마스킹하거나 토큰화할 정책 조건에 대한 열을 지정하며, 마스킹 정책이 설정된 열과 반드시 일치해야 합니다.

추가 열은 첫 번째 열에 대해 쿼리가 수행될 때 쿼리 결과의 각 행에 있는 데이터를 마스킹할지 또는 토큰화할지 결정하기 위해 평가할 열을 지정합니다.

USING 절을 생략하면 Snowflake는 조건부 마스킹 정책을 일반 마스킹 정책 으로 취급합니다.

FORCE

열에 현재 설정된 마스킹 또는 프로젝션 정책을 단일 문에서 다른 정책으로 바꿉니다.

마스킹 정책과 함께 FORCE 키워드를 사용하려면 열에 현재 설정된 마스킹 정책의 데이터 타입(즉, STRING)과 일치하도록 ALTER TABLE 문(즉, STRING)에 있는 정책의 데이터 타입 이 필요합니다.

마스킹 정책이 열에 현재 설정되어 있지 않으면 이 키워드를 지정해도 아무 효과가 없습니다.

자세한 내용은 열의 마스킹 정책 바꾸기 또는 프로젝션 정책 바꾸기 섹션을 참조하십시오.

사용법 노트: 일반

  • 뷰 소유자(즉, 뷰에 대한 OWNERSHIP 권한을 가진 역할) 역시 대상 스키마를 소유하지 않는 한 (ALTER VIEW … RENAME TO 구문을 사용하여) 뷰를 관리되는 액세스 스키마로 이동하는 것은 금지됩니다.

  • 마스킹 정책의 경우:

    • USING 절과 FORCE 키워드는 모두 선택 사항으로, 둘 중 어떤 것도 열에 대한 마스킹 정책을 설정할 필요가 없습니다. USING 절과 FORCE 키워드는 따로 사용하거나 함께 사용할 수 있습니다. 자세한 내용은 다음을 참조하십시오.

    • 조건부 열을 사용하는 단일 마스킹 정책은 테이블의 열 구조가 정책에 지정된 열과 일치하는 경우 여러 테이블에 적용할 수 있습니다.

    • 마스킹 정책으로 하나 이상의 테이블 열을 수정하거나 행 액세스 정책으로 테이블 자체를 수정할 때, POLICY_CONTEXT 함수를 사용하여, 마스킹 정책으로 보호되는 열과 행 액세스 정책으로 보호되는 테이블에 대한 쿼리를 시뮬레이션합니다.

  • 조건부 열을 사용하는 단일 마스킹 정책은 뷰의 열 구조가 정책에 지정된 열과 일치하는 경우 여러 뷰에 적용할 수 있습니다.

  • 행 액세스 정책의 경우:

    • Snowflake는 단일 SQL 문에서 행 액세스 정책 추가 및 삭제를 지원합니다.

      예를 들어 테이블에 이미 설정된 행 액세스 정책을 다른 정책으로 바꾸려면 먼저 행 액세스 정책을 삭제한 다음 새 행 액세스 정책을 추가하십시오.

    • 주어진 리소스(즉, 테이블 또는 뷰)의 경우, 행 액세스 정책을 ADD 또는 DROP 하려면 스키마에 대한 APPLY ROW ACCESS POLICY 권한 또는 리소스에 대한 OWNERSHIP 권한과 행 액세스 정책 리소스에 대한 APPLY 권한이 있어야 합니다.

    • 테이블 또는 뷰는 한 번에 하나의 행 액세스 정책으로만 보호할 수 있습니다. 정책 본문이 행 액세스 정책으로 보호되는 테이블 또는 뷰 열이나 마스킹 정책으로 보호되는 열을 참조하는 경우 정책을 추가하는 데 실패합니다.

      마찬가지로, 마스킹 정책 본문이 행 액세스 정책이나 다른 마스킹 정책으로 보호되는 테이블을 참조하는 경우 테이블 열에 마스킹 정책을 추가하는 데 실패합니다.

    • 행 액세스 정책을 시스템 뷰 또는 테이블 함수에 적용할 수 없습니다.

    • 다른 DROP <오브젝트> 작업과 마찬가지로, 행 액세스 정책이 추가되지 않은 리소스에서 행 액세스 정책을 삭제하려고 하면 Snowflake가 오류를 반환합니다.

    • 오브젝트에 행 액세스 정책과 하나 이상의 마스킹 정책이 모두 있는 경우 행 액세스 정책이 먼저 평가됩니다.

  • 메타데이터 관련:

    주의

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

사용법 노트: 데이터 메트릭 함수

테이블에 DMF를 추가합니다.

테이블에 데이터 메트릭 함수를 추가하기 전에 다음을 수행해야 합니다.

  • 데이터 메트릭 함수의 실행 일정을 설정합니다. 자세한 내용은 DATA_METRIC_SCHEDULE 섹션을 참조하십시오.

  • 데이터 메트릭 함수를 호출한 결과를 저장하도록 이벤트 테이블을 구성합니다. 자세한 내용은 DMF 결과 보기 섹션을 참조하십시오.

  • 데이터 메트릭 함수는 공유 테이블이나 뷰에 설정할 수 없으므로 테이블 또는 뷰가 공유에 부여되지 않았는지 확인합니다.

추가로 다음 사항이 적용됩니다.

  • 테이블, 외부 테이블, 뷰 또는 구체화된 뷰에 데이터 메트릭 함수를 추가할 수 있습니다. 동적 테이블 등 다른 종류의 테이블에는 데이터 메트릭 함수를 설정할 수 없습니다.

  • 열을 지정하면 Snowflake는 순서 위치를 사용합니다. 테이블이나 뷰에 데이터 메트릭 함수를 추가한 후 열 이름을 바꾸는 경우 해당 열에 대한 데이터 메트릭 함수의 연결은 유효하게 유지됩니다.

  • 해당 종류의 데이터 메트릭 함수는 열에 하나만 추가할 수 있습니다. 예를 들어, NULL_COUNT 데이터 메트릭 함수를 단일 열에 두 번 추가할 수 없습니다.

  • 열을 참조하는 데이터 메트릭 함수를 추가한 후 열을 삭제하면 Snowflake가 해당 데이터 메트릭 함수를 평가할 수 없습니다.

  • 가상 열 참조는 지원되지 않습니다.

테이블에서 DMF를 삭제합니다.
  • 테이블에서 데이터 메트릭 함수를 삭제한 다음 DROP FUNCTION 명령을 사용하여 시스템에서 데이터 메트릭 함수를 제거합니다.

  • DATA_METRIC_FUNCTION_REFERENCES 함수를 사용하여 테이블을 식별하고 데이터 메트릭 함수가 설정된 오브젝트를 볼 수 있습니다.

DMF 예약하기

일정을 설정한 후 일정이 적용되기까지 10분이 걸립니다.

마찬가지로, DMF를 설정 취소하면 예약 변경이 적용되기까지 10분이 걸립니다. 자세한 내용은 실행할 DMFs 예약 섹션을 참조하십시오.

뷰 이름을 view1 에서 view2 로 바꾸기:

ALTER VIEW view1 RENAME TO view2;
Copy

뷰를 보안 뷰로 변환:

ALTER VIEW view1 SET SECURE;
Copy

보안 뷰를 일반 뷰로 되돌리기:

ALTER VIEW view1 UNSET SECURE;
Copy

뷰 열에 열 수준 보안 마스킹 정책 적용:

-- single column

ALTER VIEW user_info_v MODIFY COLUMN ssn_number SET MASKING POLICY ssn_mask_v;

-- multiple columns

ALTER VIEW user_info_v MODIFY
    COLUMN ssn_number SET MASKING POLICY ssn_mask_v
  , COLUMN dob SET MASKING POLICY dob_mask_v
;
Copy

뷰 열에서 열 수준 보안 마스킹 정책 설정 해제:

-- single column

ALTER VIEW user_info_v modify column ssn_number unset masking policy;

-- multiple columns

ALTER VIEW user_info_v modify
    column ssn_number unset masking policy
  , column dob unset masking policy
;
Copy

다음은 뷰에 행 액세스 정책을 추가하는 예입니다. 정책을 설정한 후, 정보 스키마 를 검사하여 확인할 수 있습니다.

alter view v1
  add row access policy rap_v1 on (empl_id);
Copy

다음은 뷰에서 행 액세스 정책을 삭제하는 예입니다. 정보 스키마 를 쿼리하여 정책이 삭제되었음을 확인합니다.

alter view v1
  drop row access policy rap_v1;
Copy

다음은 뷰에 대한 단일 SQL 문에서 행 액세스 정책 추가 및 삭제를 결합하는 방법을 보여주는 예입니다. 정보 스키마 를 검사하여 결과를 확인합니다.

alter view v1
  drop row access policy rap_v1_version_1,
  add row access policy rap_v1_version_2 on (empl_id);
Copy