ALTER TABLE
ALTER TABLE (이벤트 테이블)
기존 이벤트 테이블(event table)의 속성, 열 또는 제약 조건을 수정하는 명령이에요.
출처: 문서
본문
관련 명령: CREATE EVENT TABLE, DROP TABLE, SHOW EVENT TABLES, DESCRIBE EVENT TABLE
구문 (Syntax)
ALTER TABLE [ IF EXISTS ] <name> RENAME TO <new_table_name>
ALTER TABLE [ IF EXISTS ] <name> clusteringAction
ALTER TABLE [ IF EXISTS ] <name> dataGovnPolicyTagAction
ALTER TABLE [ IF EXISTS ] <name> searchOptimizationAction
ALTER TABLE [ IF EXISTS ] <name> SET
[ DATA_RETENTION_TIME_IN_DAYS = <integer> ]
[ MAX_DATA_EXTENSION_TIME_IN_DAYS = <integer> ]
[ CHANGE_TRACKING = { TRUE | FALSE } ]
[ CONTACT <purpose> = <contact_name> [ , <purpose> = <contact_name> ... ] ]
[ COMMENT = '<string_literal>' ]
ALTER TABLE [ IF EXISTS ] <name> UNSET {
DATA_RETENTION_TIME_IN_DAYS |
MAX_DATA_EXTENSION_TIME_IN_DAYS |
CHANGE_TRACKING |
CONTACT <purpose> |
COMMENT |
}
여기에서:
clusteringAction ::=
{
CLUSTER BY ( <expr> [ , <expr> , ... ] )
| { SUSPEND | RESUME } RECLUSTER
| DROP CLUSTERING KEY
}
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
}
searchOptimizationAction ::=
{
ADD SEARCH OPTIMIZATION [
ON <search_method_with_target> [ , <search_method_with_target> ... ]
]
| DROP SEARCH OPTIMIZATION [
ON { <search_method_with_target> | <column_name> | <expression_id> }
[ , ... ]
]
}
자세한 내용은 Search optimization actions을 참고하세요.
파라미터 (Parameters)
*name*
수정할 이벤트 테이블의 식별자예요. 식별자에 공백이나 특수 문자가 포함되면 전체 문자열을 큰따옴표로 감싸야 해요. 큰따옴표로 감싼 식별자는 대소문자를 구분해요.
RENAME TO *new_table_name*
지정된 이벤트 테이블을 스키마의 다른 이벤트 테이블이 현재 사용하지 않는 새 식별자로 이름을 바꿔요.
참고
기본 이벤트 테이블 SNOWFLAKE.TELEMETRY.EVENTS에서는 지원되지 않아요.
이벤트 테이블 식별자에 대한 자세한 내용은 Identifier requirements를 참고하세요.
객체를 선택적으로 이름을 바꾸면서 다른 데이터베이스 및/또는 스키마로 이동할 수 있어요. 그러려면 새 데이터베이스 및/또는 스키마 이름을 포함한 정규화된 new_name 값을 각각 db_name.schema_name.object_name 또는 schema_name.object_name 형식으로 지정해요.
참고
-
대상 데이터베이스 및/또는 스키마는 이미 존재해야 해요. 또한 새 위치에 같은 이름의 객체가 이미 있으면 안 되며, 그렇지 않으면 문이 오류를 반환해요.
-
객체 소유자(즉 객체에 OWNERSHIP 권한이 있는 역할)가 대상 스키마도 소유하지 않는 한 관리 액세스 스키마로 객체를 이동하는 것은 금지돼요.
객체(테이블, 열 등)의 이름이 바뀌면 그것을 참조하는 다른 객체를 새 이름으로 업데이트해야 해요.
SET ...
이벤트 테이블에 대해 설정할 하나 이상의 속성/파라미터를 지정해요(공백, 쉼표 또는 새 줄로 구분):
DATA_RETENTION_TIME_IN_DAYS = *integer*
Time Travel에 대한 이벤트 테이블의 보존 기간을 수정하는 객체 수준 파라미터예요. 자세한 내용은 Understanding & using Time Travel과 Working with Temporary and Transient Tables를 참고하세요.
이 파라미터와 객체 파라미터에 대한 자세한 설명은 Parameters를 참고하세요.
값:
-
Standard Edition:
0또는1 -
Enterprise Edition:
-
영구 이벤트 테이블의 경우
0~90 -
임시·transient 이벤트 테이블의 경우
0또는1
-
참고
0 값은 이벤트 테이블의 Time Travel을 사실상 비활성화해요.
MAX_DATA_EXTENSION_TIME_IN_DAYS = *integer*
이벤트 테이블의 스트림이 오래되지 않도록 하기 위해 Snowflake가 이벤트 테이블의 데이터 보존 기간을 연장할 수 있는 최대 일수를 지정하는 객체 파라미터예요.
이 파라미터에 대한 자세한 설명은 MAX_DATA_EXTENSION_TIME_IN_DAYS를 참고하세요.
CHANGE_TRACKING = { TRUE | FALSE }
이벤트 테이블에서 변경 추적(change tracking)을 활성화하거나 비활성화하도록 지정해요.
-
TRUE는 이벤트 테이블에서 변경 추적을 활성화해요. 이 옵션은 소스 이벤트 테이블에 한 쌍의 숨은 열을 추가하고 열에 변경 추적 메타데이터 저장을 시작해요. 이 열은 약간의 스토리지를 소비해요.변경 추적 메타데이터는 SELECT 문의 CHANGES 절로 쿼리하거나, 이벤트 테이블에 하나 이상의 스트림을 만들어 쿼리할 수 있어요.
-
FALSE는 이벤트 테이블에서 변경 추적을 비활성화해요. 한 쌍의 숨은 열이 이벤트 테이블에서 삭제돼요.
CONTACT purpose = contact [ , purpose = contact ... ]
기존 객체를 하나 이상의 연락처(contacts)와 연결해요. 유효한 목적 목록은 Associate a contact with an object를 참고하세요.
같은 문에서 CONTACT 속성을 다른 속성과 함께 설정할 수 없어요.
COMMENT = '*string_literal*'
이벤트 테이블에 주석을 추가하거나 기존 주석을 덮어써요.
UNSET ...
이벤트 테이블에 대해 설정 해제할 속성/파라미터 하나(이상)를 지정하며, 기본값으로 재설정돼요:
-
DATA_RETENTION_TIME_IN_DAYS -
MAX_DATA_EXTENSION_TIME_IN_DAYS -
CHANGE_TRACKING -
CONTACT *purpose* -
COMMENT
같은 문에서 CONTACT 속성을 다른 속성과 함께 해제할 수 없어요.
데이터 거버넌스 정책 및 태그 작업 (dataGovnPolicyTagAction)
TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]
태그(tag) 이름과 태그 문자열 값을 지정해요.
태그 값은 항상 문자열이고 태그 값의 최대 문자 수는 256이에요.
문에서 태그를 지정하는 방법에 대한 정보는 Tag quotas를 참고하세요.
policy_name
정책의 식별자예요. 스키마 내에서 고유해야 해요.
다음 절은 행 접근 정책(row access policies)을 지원하는 모든 테이블 종류(테이블, 뷰, 이벤트 테이블 등에 국한되지 않음)에 적용돼요. 간단히 하기 위해 절은 "테이블"만 언급해요.
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
테이블에서 모든 행 접근 정책 연관을 제거해요.
이 표현식은 행 접근 정책이 이벤트 테이블에서 정책을 제거하기 전에 스키마에서 삭제될 때 유용해요. 이 표현식을 사용해 테이블에서 행 접근 정책 연관을 제거해요.
백업이 만들어질 때 테이블에 행 접근 정책이 적용되어 있었고 정책이 나중에 삭제되었다고 가정해요. 백업(backup)에서 테이블을 복원한 뒤에는 DROP ALL ROW ACCESS POLICIES 절이 있는 ALTER TABLE 명령을 실행할 때까지 테이블을 쿼리할 수 없어요.
SET AGGREGATION POLICY policy_name
[ ENTITY KEY (col_name [ , ... ]) ] [ FORCE ]
테이블에 집계 정책(aggregation policy)을 할당해요.
선택 ENTITY KEY 파라미터를 사용해 테이블 내에서 엔티티를 고유하게 식별하는 열을 정의해요. 자세한 내용은 Implementing entity-level privacy with aggregation policies를 참고하세요.
선택 FORCE 파라미터를 사용해 기존 집계 정책을 새 집계 정책으로 원자적으로 교체해요.
UNSET AGGREGATION POLICY
테이블에서 집계 정책을 분리해요.
SET JOIN POLICY policy_name
[ FORCE ]
테이블에 조인 정책(join policy)을 할당해요.
선택 FORCE 파라미터를 사용해 기존 조인 정책을 새 조인 정책으로 원자적으로 교체해요.
UNSET JOIN POLICY
테이블에서 조인 정책을 분리해요.
클러스터링 작업 (clusteringAction)
CLUSTER BY ( *expr* [ , *expr* , ... ] )
이벤트 테이블의 클러스터링 키로 이벤트 테이블 열 하나 이상 또는 열 표현식을 지정(또는 수정)해요. Automatic Clustering이 유지 관리하는 열/표현식이에요.
중요
클러스터링 키는 모든 이벤트 테이블에 권장되지 않아요. 일반적으로 매우 큰(즉 수 테라바이트) 이벤트 테이블에 도움이 돼요.
이벤트 테이블에 클러스터링 키를 지정하기 전에 Understanding Snowflake Table Structures를 참고하세요.
SUSPEND | RESUME RECLUSTER
이벤트 테이블에 대해 Automatic Clustering을 활성화하거나 비활성화해요.
DROP CLUSTERING KEY
이벤트 테이블의 클러스터링 키를 제거해요.
클러스터링 키와 재클러스터링에 대한 자세한 내용은 Understanding Snowflake Table Structures를 참고하세요.
검색 최적화 작업 (searchOptimizationAction)
ADD SEARCH OPTIMIZATION
전체 이벤트 테이블 또는, 선택 ON 절을 지정하면 특정 열에 검색 최적화(search optimization)를 추가해요.
참고:
-
검색 최적화는 유지 관리 비용이 클 수 있으며, 특히 이벤트 테이블의 데이터가 자주 변경되는 경우 그렇지 않아요. 자세한 내용은 Search optimization cost estimation and management를 참고하세요.
-
머티리얼라이즈드 뷰에 검색 최적화를 추가하려 하면 Snowflake가 오류 메시지를 반환해요.
프리뷰 기능 — 공개
ON 절은 Enterprise Edition(이상)의 모든 계정에서 사용할 수 있는 프리뷰 기능의 일부예요.
ON *search_method_with_target* [, *search_method_with_target* ... ]
전체 이벤트 테이블이 아니라 특정 열 또는 VARIANT 필드에 대해 검색 최적화를 구성하고 싶다고 지정해요.
*search_method_with_target*에는 다음 구문의 표현식을 사용해요:
<search_method>(<target> [, ...])
여기에서:
-
*search_method*는 특정 유형의 조건자에 대한 쿼리를 최적화하는 다음 방법 중 하나를 지정해요:Search Method Description EQUALITY 동등 및 IN 조건자. SUBSTRING 하위 문자열과 정규 표현식을 일치시키는 조건자(예: [NOT] LIKE, [NOT] ILIKE, [NOT] RLIKE, REGEXP_LIKE). GEO GEOGRAPHY 유형을 사용하는 조건자. -
*target*는 열, VARIANT 필드 또는 별표(*)를 지정해요.*search_method*의 값에 따라 다음 유형 중 하나의 열이나 VARIANT 필드를 지정할 수 있어요:Search Method Supported Targets EQUALITY 숫자, 문자열, 이진, VARIANT 데이터 유형의 열, VARIANT 내 필드로의 경로 포함. VARIANT 필드를 지정하려면 필드로의 콜론 구분 경로(예: my_column:my_field_name:my_nested_field_name)를 사용하거나 점 또는 괄호 표기법(예:my_column:my_field_name.my_nested_field_name또는my_column['my_field_name']['my_nested_field_name'])을 사용해요. VARIANT 필드를 지정하면 구성은 그 필드 아래의 모든 중첩 필드에 적용돼요. 예를 들어ON EQUALITY(src:a.b)를 지정한다고 가정해요. 이 구성은src:a.b와 중첩 필드(예:src:a.b.c,src:a.b.c.d)에 대한 쿼리를 개선할 수 있어요. 이 구성은src:a.b접두사를 사용하지 않는 쿼리(예:src:a,src:z)에는 영향을 주지 않아요.SUBSTRING 문자열 데이터 유형의 열. GEO GEOGRAPHY 데이터 유형의 열. 이벤트 테이블의 모든 적용 가능한 열을 대상으로 지정하려면 별표(
*)를 사용해요.주어진 검색 방법에 대해 별표와 특정 열 이름을 모두 지정할 수는 없어요. 그러나 다른 검색 방법에서는 별표를 지정할 수 있어요.
예를 들어 다음 표현식을 지정할 수 있어요:
-- Allowed
ON SUBSTRING(*)
ON EQUALITY(*), SUBSTRING(*), GEO(*)
다음 표현식은 지정할 수 없어요:
-- Not allowed
ON EQUALITY(*, c1)
ON EQUALITY(c1, *)
ON EQUALITY(v1:path, *)
ON EQUALITY(c1), EQUALITY(*)
대상에 둘 이상의 검색 방법을 지정하려면 쉼표로 각 후속 방법과 대상을 구분해요:
ALTER TABLE t1 ADD SEARCH OPTIMIZATION ON EQUALITY(c1), EQUALITY(c2, c3);
같은 이벤트 테이블에서 ALTER TABLE … ADD SEARCH OPTIMIZATION ON … 명령을 여러 번 실행하면 각 후속 명령이 이벤트 테이블의 기존 구성에 추가해요. 예를 들어 다음 명령을 실행한다고 가정해요:
ALTER TABLE t1 ADD SEARCH OPTIMIZATION ON EQUALITY(c1, c2);
ALTER TABLE t1 ADD SEARCH OPTIMIZATION ON EQUALITY(c3, c4);
이것은 열 c1, c2, c3, c4에 대한 동등 조건자를 이벤트 테이블 구성에 추가해요. 이는 다음 명령을 실행하는 것과 동일해요:
ALTER TABLE t1 ADD SEARCH OPTIMIZATION ON EQUALITY(c1, c2, c3, c4);
예제는 Enabling search optimization for specific columns을 참고하세요.
DROP SEARCH OPTIMIZATION
전체 이벤트 테이블 또는, 선택 ON 절을 지정하면 특정 열에서 검색 최적화를 제거해요.
참고:
-
이벤트 테이블에 검색 최적화 속성이 있으면 이벤트 테이블을 삭제하고 다시 살려도(undrop) 검색 최적화 속성이 보존돼요.
-
이벤트 테이블에서 검색 최적화 속성을 제거한 뒤 다시 추가하면 처음 추가할 때와 같은 비용이 발생해요.
프리뷰 기능 — 공개
ON 절은 Enterprise Edition(이상)의 모든 계정에서 사용할 수 있는 프리뷰 기능의 일부예요.
ON *search_method_with_target* | *column_name* | *expression_id* [, ... ]
전체 이벤트 테이블의 검색 최적화를 제거하는 것이 아니라 특정 열 또는 VARIANT 필드에 대한 검색 최적화 구성을 제거하고 싶다고 지정해요.
제거할 열 구성을 식별하려면 다음 중 하나를 지정해요:
-
*search_method_with_target*에는 열이나 VARIANT 필드일 수 있는 대상 하나 이상에 대한 쿼리를 최적화하는 방법을 지정해요. 앞서 설명한 구문을 사용해요. -
*column_name*에는 검색 최적화가 구성된 열의 이름을 지정해요. 열 이름을 지정하면 열의 VARIANT 필드를 사용하는 표현식을 포함해 그 열에 대한 모든 표현식을 제거해요. -
*expression_id*에는 DESCRIBE SEARCH OPTIMIZATION 명령 출력에 나열된 표현식의 ID를 지정해요.
이 중 둘 이상을 지정하려면 항목 사이에 쉼표를 사용해요.
검색 방법·대상, 열 이름, 표현식 ID의 어떤 조합이든 지정할 수 있어요.
예제는 Dropping search optimization for specific columns을 참고하세요.
사용 참고사항 (Usage notes)
-
이벤트 테이블에 대한 변경은 그 이벤트 테이블에 만들어진 뷰에 자동으로 전파되지 않아요.
-
이벤트 테이블을 수정하려면 이벤트 테이블에 대한 소유권 권한이 있는 역할을 사용해야 해요.
-
이벤트 테이블에 클러스터링을 추가하려면 이벤트 테이블을 포함한 스키마와 데이터베이스에 USAGE 또는 OWNERSHIP 권한도 있어야 해요.
-
행 접근 정책에 관해:
-
Snowflake는 단일 SQL 문에서 행 접근 정책의 추가와 제거를 지원해요.
예를 들어 이미 테이블에 설정된 행 접근 정책을 다른 정책으로 교체하려면 먼저 행 접근 정책을 제거하고 새 행 접근 정책을 추가해요.
-
주어진 리소스(테이블 또는 뷰)에 행 접근 정책을
ADD하거나DROP하려면 스키마에 대한 APPLY ROW ACCESS POLICY 권한이 있거나, 리소스에 대한 OWNERSHIP 권한과 행 접근 정책 리소스에 대한 APPLY 권한이 있어야 해요. -
테이블이나 뷰는 한 번에 하나의 행 접근 정책으로만 보호될 수 있어요. 정책 본문이 행 접근 정책으로 보호된 테이블이나 뷰 열, 또는 마스킹 정책으로 보호된 열을 참조하면 정책 추가가 실패해요.
마찬가지로 마스킹 정책 본문이 행 접근 정책이나 다른 마스킹 정책으로 보호된 테이블을 참조하면 테이블 열에 마스킹 정책을 추가하는 것이 실패해요.
-
행 접근 정책은 시스템 뷰나 테이블 함수에는 적용할 수 없어요.
-
다른 DROP 작업과 유사하게, 행 접근 정책이 추가되지 않은 리소스에서 행 접근 정책을 제거하려 하면 Snowflake가 오류를 반환해요.
-
객체에 행 접근 정책과 하나 이상의 마스킹 정책이 모두 있으면 행 접근 정책이 먼저 평가돼요.
-
외래 키를 만들면 REFERENCES 절의 열이 기본 키에 나열된 것과 같은 순서로 나열되어야 해요. 예:
-
CREATE TABLE parent ... CONSTRAINT primary_key_1 PRIMARY KEY (c_1, c_2) ...
CREATE TABLE child ... CONSTRAINT foreign_key_1 FOREIGN KEY (...) REFERENCES parent (c_1, c_2) ...
두 경우 모두 열 순서는 `c_1, c_2`예요. 외래 키의 열 순서가 달랐다면(예: `c_2, c_1`) 외래 키 만들기 시도가 실패했을 거예요.
-
ALTER TABLE 명령을 실행해 이벤트 테이블에서 데이터 메트릭 함수를 사용할 수 있어요. 자세한 내용은 Use SQL to set up data metric functions을 참고하세요.
-
메타데이터에 관해: 고객은 Snowflake 서비스를 사용할 때 메타데이터로 개인 데이터(User 객체 외), 민감 데이터, 수출 통제 데이터 또는 기타 규제 데이터를 입력하지 않도록 해야 해요. 자세한 내용은 Metadata fields in Snowflake를 참고하세요.
-
ALTER TABLE … CHANGE_TRACKING = TRUE
- 이벤트 테이블이 변경 추적을 활성화하도록 수정되면 작업 기간 동안 이벤트 테이블이 잠겨요. 잠금은 일부 관련 DDL/DML 작업에 지연을 일으킬 수 있어요. 자세한 내용은 Resource locking을 참고하세요.
예제 (Examples)
이벤트 테이블 t1을 a1로 이름을 바꾸는 예제예요:
CREATE OR REPLACE TABLE t1(a1 number);
SHOW TABLES LIKE 't1';
---------------------------------+------+---------------+-------------+-------+---------+------------+------+-------+--------+----------------+
created_on | name | database_name | schema_name | kind | comment | cluster_by | rows | bytes | owner | retention_time |
---------------------------------+------+---------------+-------------+-------+---------+------------+------+-------+--------+----------------+
Tue, 17 Mar 2015 16:52:33 -0700 | T1 | TESTDB | MY_SCHEMA | TABLE | | | 0 | 0 | PUBLIC | 1 |
---------------------------------+------+---------------+-------------+-------+---------+------------+------+-------+--------+----------------+
ALTER TABLE t1 RENAME TO tt1;
SHOW TABLES LIKE 'tt1';
---------------------------------+------+---------------+-------------+-------+---------+------------+------+-------+--------+----------------+
created_on | name | database_name | schema_name | kind | comment | cluster_by | rows | bytes | owner | retention_time |
---------------------------------+------+---------------+-------------+-------+---------+------------+------+-------+--------+----------------+
Tue, 17 Mar 2015 16:52:33 -0700 | TT1 | TESTDB | MY_SCHEMA | TABLE | | | 0 | 0 | PUBLIC | 1 |
---------------------------------+------+---------------+-------------+-------+---------+------------+------+-------+--------+----------------+
이벤트 테이블의 클러스터링 키 순서를 바꾸는 예제예요:
CREATE OR REPLACE TABLE T1 (id NUMBER, date TIMESTAMP_NTZ, name STRING) CLUSTER BY (id, date);
SHOW TABLES LIKE 'T1';
---------------------------------+------+---------------+-------------+-------+---------+------------+------+-------+--------------+----------------+
created_on | name | database_name | schema_name | kind | comment | cluster_by | rows | bytes | owner | retention_time |
---------------------------------+------+---------------+-------------+-------+---------+------------+------+-------+--------------+----------------+
Tue, 21 Jun 2016 15:42:12 -0700 | T1 | TESTDB | TESTSCHEMA | TABLE | | (ID,DATE) | 0 | 0 | ACCOUNTADMIN | 1 |
---------------------------------+------+---------------+-------------+-------+---------+------------+------+-------+--------------+----------------+
-- Change the order of the clustering key
ALTER TABLE t1 CLUSTER BY (date, id);
SHOW TABLES LIKE 'T1';
---------------------------------+------+---------------+-------------+-------+---------+------------+------+-------+--------------+----------------+
created_on | name | database_name | schema_name | kind | comment | cluster_by | rows | bytes | owner | retention_time |
---------------------------------+------+---------------+-------------+-------+---------+------------+------+-------+--------------+----------------+
Tue, 21 Jun 2016 15:42:12 -0700 | T1 | TESTDB | TESTSCHEMA | TABLE | | (DATE,ID) | 0 | 0 | ACCOUNTADMIN | 1 |
---------------------------------+------+---------------+-------------+-------+---------+------------+------+-------+--------------+----------------+
다음 예제는 단일 열을 지정하면서 이벤트 테이블에 행 접근 정책을 추가해요. 정책을 설정한 뒤 information schema를 확인해 검증할 수 있어요.
ALTER TABLE t1
ADD ROW ACCESS POLICY rap_t1 ON (empl_id);
다음 예제는 단일 이벤트 테이블에서 두 열을 지정하면서 행 접근 정책을 추가해요.
ALTER TABLE t1
ADD ROW ACCESS POLICY rap_test2 ON (cost, item);
다음 예제는 이벤트 테이블에서 행 접근 정책을 제거해요. information schema를 쿼리해 정책이 제거되었는지 확인해요.
ALTER TABLE t1
DROP ROW ACCESS POLICY rap_v1;
다음 예제는 테이블에 대해 단일 SQL 문에서 행 접근 정책 추가와 제거를 결합하는 방법을 보여줘요. information schema를 확인해 결과를 검증해요.
alter table t1
drop row access policy rap_t1_version_1,
add row access policy rap_t1_version_2 on (empl_id);
더 알아보기 (Learn more)
CREATE EVENT TABLE, DROP TABLE, SHOW EVENT TABLES, DESCRIBE EVENT TABLE