我正在尝试像这样重命名 db2 中的表
rename table schema1.mytable to schema2.mytable
但收到以下错误消息:
the name "mytable" has the wrong number of qualifiers.. SQLCODE=-108,SQLSTATE=42601
这里有什么问题......我正在使用 IBM publib 文档中的确切语法。
您不能更改给定对象的架构。你必须重新创建它。
有几种方法可以做到这一点:
您可以使用以下方法重新创建表:
Create table schema2.mytable like schema1.mytable
您可以使用db2look工具提取 DDL
最后两个选项只创建表结构,您仍然需要导入数据。创建表后,您可以通过不同的方式插入数据:
直接插入
insert into schema2.mytable select * from schema1.mytable
通过从游标加载
问题是外交关系,因为它们必须被重建。
最后,您可以创建一个别名。它更容易,而且您不必处理关系。
您可以使用以下语句轻松重命名表:
RENAME TABLE SCHEMA.TABLENAME TO NEWTABLENAME;
您没有在提供的示例中重命名表,而是试图移动到不同的模式,这不是一回事。为此请查看db2move工具。
如果您保持原样并使用新名称和架构创建别名怎么办。
重命名表意味着在同一模式中重命名表。要在其他模式中重命名,db2 调用它的别名:
db2 为