ALTER MODEL

修改现有模型的属性,包括其名称、标签、默认版本或注释。

此命令还有三种变体,即:

语法

ALTER MODEL [ IF EXISTS ] <name> SET
  [ COMMENT = '<string_literal>' ]
  [ DEFAULT_VERSION = '<version_name>']

ALTER MODEL [ IF EXISTS ] <model_name> SET TAG <tag_name> = '<tag_value>'

ALTER MODEL [ IF EXISTS ] <model_name> UNSET TAG <tag_name> [ , <tag_name> ... ]

ALTER MODEL [ IF EXISTS ] <model_name> VERSION <version_name> SET ALIAS = '<alias_name>'

ALTER MODEL [ IF EXISTS ] <model_name> VERSION <version_or_alias_name> UNSET ALIAS

ALTER MODEL <model_name> RENAME TO <new_name>
Copy

参数

name

指定模型的标识符(即名称)。

如果标识符包含空格或特殊字符,则整个字符串必须放在双引号内。放在双引号内的标识符也区分大小写。

有关更多信息,请参阅 标识符要求

SET ...

指定要设置的一个或多个模型属性。

COMMENT = 'string_literal'

设置模型的注释。也可以使用 COMMENT 命令来完成。

DEFAULT_VERSION = 'version_name'

设置模型的默认版本(直接在模型上调用方法时调用方法的版本)。版本名称是 标识符

系统别名 DEFAULT 指的是默认版本。

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

指定 标签 名称和标签字符串值。

标签值始终为字符串,标签值的最大字符数为 256。

有关在语句中指定标签的信息,请参阅 对象的标签配额

ALIAS = 'alias_name'

alias_name 设置为该版本的别名。别名是可以轻松被重新分配的替代名称。大多数可使用版本名的地方都可以使用别名。一个版本最多可以有一个别名。

别名是一个 标识符。它在模型中必须是唯一的,并且不能与系统别名重复,系统别名包括:

  • 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_nameschema_name.object_name 的形式包含新数据库和/或架构名称。

备注

  • 目标数据库和/或架构必须已存在。此外,新位置中不能存在同名对象;否则,该语句将返回错误。

  • 除非 对象所有者(即拥有对象 OWNERSHIP 权限的角色)也拥有目标架构,否则禁止将对象移动到托管访问架构。

当重命名模型时,引用该模型的其他对象必须使用新名称进行更新。

访问控制要求

用于执行此操作的 角色 必须至少具有以下 权限

权限

对象

备注

OWNERSHIP

模型

若要创建创建与架构中已存在的对象同名的临时对象,必须授予角色或使其继承对象上的 OWNERSHIP 权限。

要对架构中的任何对象执行操作,需要对父数据库和架构的 USAGE 权限。请注意,如果某个角色获授某个架构的任意权限,该角色便能够解析该架构。例如,若某角色被授予 CREATE 权限,则可以在该架构上创建对象,而无需 同时 被授予该架构的 USAGE 权限。

有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色

有关对 安全对象 执行 SQL 操作的相应角色和权限授予的一般信息,请参阅 访问控制概述

语言: 中文