将表移动到另一个架构

ALTER TABLE...SET SCHEMA 可以将表从一个架构移动到另一个架构。Vertica 会自动将锚定到源表的所有投影移动到目标架构。它还会将所有 IDENTITYAUTO_INCREMENT 列移动到目标架构。

在架构之间移动表需要对当前架构具有 USAGE 权限,并对目标架构具有 CREATE 权限。一次只能在架构之间移动一个表。不能在架构之间移动临时表。

名称冲突

如果新架构中已经存在要移动的同名表或任何投影,该语句将回退并且不会移动该表或任何投影。要解决名称冲突:

  1. 重命名要移动的任何冲突表或投影。

  2. 再次运行 ALTER TABLE...SET SCHEMA

示例

以下示例将表 T1 从架构 S1 移至架构 S2。锚定到表 T1 的所有投影都会自动移至架构 S2

=> ALTER TABLE S1.T1 SET SCHEMA S2;