ALTER MODEL¶
修改现有模型的属性,包括其名称、标签、默认版本或注释。
此命令还有三种变体,即:
ALTER MODEL ...ADDVERSION 添加模型的新版本。
ALTER MODEL ...DROP VERSION 移除模型的某个版本。
ALTER MODEL ...MODIFY VERSION 设置模型版本的注释或元数据。
语法¶
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 <model_name> RENAME TO <new_name>
参数¶
name
指定模型的标识符(即名称)。
如果标识符包含空格或特殊字符,则整个字符串必须放在双引号内。放在双引号内的标识符也区分大小写。
有关更多信息,请参阅 标识符要求。
SET ...
指定要设置的一个或多个模型属性。
UNSET TAG tag_name [ , tag_name ... ]
指定一个或多个要在模型上取消设置的标签。
RENAME TO new_name
使用当前未被架构中的任何其他模型使用的新标识符重命名指定的模型。
有关标识符的更多详细信息,请参阅 标识符要求。
可以将对象移动到其他数据库和/或架构,同时选择重命名对象。为此,请指定一个限定
new_name
值,该值分别以db_name.schema_name.object_name
或schema_name.object_name
的形式包含新数据库和/或架构名称。备注
目标数据库和/或架构必须已存在。此外,新位置中不能存在同名对象;否则,该语句将返回错误。
除非 对象所有者(即对对象拥有 OWNERSHIP 权限的角色)也拥有目标架构,否则禁止将对象移动到托管访问架构。
重命名对象(表、列等)时,引用该对象的其他对象必须使用新名称进行更新。
访问控制要求¶
权限 |
对象 |
备注 |
---|---|---|
OWNERSHIP |
模型 |
若要创建创建与架构中已存在的对象同名的临时对象,必须授予角色或使其继承对象上的 OWNERSHIP 权限。 |
请注意,对架构中的对象进行操作还需要对父数据库和架构具有 USAGE 权限。
有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色。