将表移动到另一个架构
ALTER TABLE...SET SCHEMA
可以将表从一个架构移动到另一个架构。Vertica 会自动将锚定到源表的所有投影移动到目标架构。它还会将所有 IDENTITY
和 AUTO_INCREMENT
列移动到目标架构。
在架构之间移动表需要对当前架构具有 USAGE
权限,并对目标架构具有 CREATE
权限。一次只能在架构之间移动一个表。不能在架构之间移动临时表。
名称冲突
如果新架构中已经存在要移动的同名表或任何投影,该语句将回退并且不会移动该表或任何投影。要解决名称冲突:
-
重命名要移动的任何冲突表或投影。
-
再次运行
ALTER TABLE...SET SCHEMA
。
示例
以下示例将表 T1
从架构 S1
移至架构 S2
。锚定到表 T1
的所有投影都会自动移至架构 S2
:
=> ALTER TABLE S1.T1 SET SCHEMA S2;