0

我正在尝试将驻留在某个模式中的表移动到具有相同表名的不同模式中。我尝试了以下方法,但它们不起作用:

rename <OLD_SCHEMA_NAME>.<TABLE_NAME> TO <NEW_SCHEMA_NAME>.<TABLE_NAME>;

出现的错误是:

SQL 错误 [42000]:新名称 [第 1 行,第 100 列] 的标识符链无效(会话:1722923178259251200)

ALTER TABLE <OLD_SCHEMA_NAME>.<TABLE_NAME> RENAME <NEW_SCHEMA_NAME>.<TABLE_NAME>;

出现的错误是:

SQL 错误 [42000]:语法错误,意外 IDENTIFIER_PART_,期望 COLUMN_ 或 CONSTRAINT_ [第 1 行,第 62 列](会话:1722923178259251200)

非常感谢!

4

1 回答 1

0

根据Exasol 文档,无法使用RENAME语句在模式之间移动表:

架构对象不能通过 RENAME 语句转移到另一个架构。例如,不允许“将表 s1.t1 重命名为 s2.t2”。

我会这样移动桌子:

create table <NEW_SCHEMA_NAME>.<TABLE_NAME>
like <OLD_SCHEMA_NAME>.<TABLE_NAME>
including defaults
including identity
including comments;

insert into <NEW_SCHEMA_NAME>.<TABLE_NAME>
select *
from <OLD_SCHEMA_NAME>.<TABLE_NAME>;

drop table <OLD_SCHEMA_NAME>.<TABLE_NAME>;
于 2022-01-25T15:03:58.847 回答