모델 변경

모델 변경 (ALTER MODEL)

기존 모델의 이름, 태그, 기본 버전, 주석 등의 속성을 수정합니다.

이 명령에는 다음과 같은 세 가지 다른 변형이 있습니다:

출처: 문서

본문


구문

ALTER MODEL [ IF EXISTS ]  SET
  [ COMMENT = '' ]
  [ DEFAULT_VERSION = '']

ALTER MODEL [ IF EXISTS ]  SET TAG  = ''

ALTER MODEL [ IF EXISTS ]  UNSET TAG  [ ,  ... ]

ALTER MODEL [ IF EXISTS ]  VERSION  SET ALIAS = 

ALTER MODEL [ IF EXISTS ]  VERSION  UNSET ALIAS

ALTER MODEL  RENAME TO 

매개변수

name

모델의 식별자(즉, 이름)를 지정해요.

식별자에 공백이나 특수 문자가 포함되어 있으면 전체 문자열을 큰따옴표로 묶어야 해요. 큰따옴표로 묶인 식별자는 대소문자를 구분해요.

자세한 내용은 Identifier requirements를 참조하세요.

SET ...

설정할 모델 속성 하나 이상을 지정해요.

COMMENT = 'string_literal'

모델의 주석을 설정해요. 이 작업은 COMMENT 명령으로도 할 수 있어요.

DEFAULT_VERSION = 'version_name'

모델의 기본 버전을 설정해요. 기본 버전은 모델에서 메서드를 직접 호출할 때 메서드가 실행되는 버전이에요. 버전 이름은 identifier예요.

시스템 별칭 DEFAULT는 기본 버전을 가리켜요.

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

tag 이름과 태그 문자열 값을 지정해요.

태그 값은 항상 문자열이며, 태그 값의 최대 문자 수는 256자예요.

문에서 태그를 지정하는 방법에 대한 자세한 내용은 를 참조하세요.

ALIAS = alias_name

alias_name을 버전의 별칭으로 설정해요. 별칭은 쉽게 다시 할당할 수 있는 대체 이름이에요. 별칭은 버전 이름을 사용할 수 있는 대부분의 곳에서 사용할 수 있어요. 버전은 최대 하나의 별칭을 가질 수 있어요.

별칭 이름은 identifier예요. 모델 내에서 고유해야 하며 시스템 별칭 이름과 중복될 수 없어요. 시스템 별칭 이름은 다음과 같아요:

  • DEFAULT는 모델의 기본 버전을 가리켜요.
  • FIRST는 생성 시간 기준으로 모델의 가장 오래된 버전을 가리켜요.
  • LAST는 생성 시간 기준으로 모델의 가장 최신 버전을 가리켜요.

UNSET TAG tag_name [ , tag_name ... ]

모델에서 설정 해제할 태그 하나 이상을 지정해요.

UNSET ALIAS

이 모델 버전에 별칭이 있으면 별칭을 제거해요. 시스템 별칭인 DEFAULT, FIRST, LAST는 제거할 수 없어요. 버전은 이름이나 별칭으로 지정할 수 있어요.

RENAME TO new_name


지정된 모델의 이름을 스키마에 있는 다른 모델이 현재 사용하지 않는 새 식별자로 변경해요.

식별자에 대한 자세한 내용은 식별자 요구 사항을 참조해요.

객체의 이름을 선택적으로 변경하면서 객체를 다른 데이터베이스 및/또는 스키마로 이동할 수 있어요. 이렇게 하려면 새 데이터베이스 및/또는 스키마 이름을 포함하는 정규화된 new_name 값을 각각 db_name.schema_name.object_name 또는 schema_name.object_name 형식으로 지정해요.

  • 대상 데이터베이스 및/또는 스키마는 이미 존재해야 해요. 또한 새 위치에 같은 이름의 객체가 이미 있으면 안 돼요. 그렇지 않으면 문이 오류를 반환해요.
  • 객체 소유자(즉, 객체에 대한 OWNERSHIP 권한이 있는 역할)가 대상 스키마도 소유하지 않는 한, 객체를 관리형 액세스 스키마로 이동하는 것은 금지돼요.

모델 이름이 변경되면 이를 참조하는 다른 객체도 새 이름으로 업데이트해야 해요.

액세스 제어 요구 사항

이 작업을 실행하는 데 사용되는 역할은 최소한 다음 권한을 보유해야 해요:

Privilege Object Notes
OWNERSHIP Model

역할은 스키마에 이미 존재하는 객체와 같은 이름의 임시 객체를 만들려면 객체에 대한 OWNERSHIP 권한을 부여받거나 상속해야 해요.

|

스키마의 객체에 대해 작업하려면 상위 데이터베이스에 대한 권한이 하나 이상, 상위 스키마에 대한 권한이 하나 이상 필요해요.

지정된 권한 집합으로 사용자 지정 역할을 만드는 방법은 을 참조해요.

보안 개체에 대해 SQL 작업을 수행하기 위한 역할 및 권한 부여에 대한 일반적인 정보는 액세스 제어 개요를 참조해요.

더 알아보기 (Learn more)