我尝试将db2中的表重命名为
rename table schema1.mytable to schema2.mytable
但收到以下错误消息:
the name "mytable" has the wrong number of qualifiers.. SQLCODE=-108,SQLSTATE=42601
这里有什么问题....我使用的是IBM publib文档中的确切语法。
scyqe7ek1#
不能更改给定对象的架构。必须重新创建它。有几种方法可以做到这一点:
insert into schema2.mytable select * from schema1.mytable
最后两个选项只会建立表格结构,您仍然需要汇入数据。建立表格之后,您可以使用不同的方式插入数据:
insert into schema2.mytable select * from schema1.mytable个
问题是对外关系,因为它们必须重新建立。最后,您可以创建一个alias。这更容易,而且您不必处理关系。
cunj1qz12#
您可以使用以下语句轻松地重命名表:
RENAME TABLE SCHEMA.TABLENAME TO NEWTABLENAME;
3okqufwl3#
在提供的示例中,您没有重命名表,而是尝试移动到不同的模式,这不是一回事。请查看db2move工具。
rsl1atfo4#
如果要重命名同一架构中的表,可以像这样使用。
RENAME TABLE schema.table_name TO "new_table_name";
否则,您可以使用DBeaver之类的工具重命名或复制db2 db中的表。
d7v8vwbk5#
如果您保持原样并使用新名称和模式创建一个别名,会怎么样?
lyfkaqu16#
重命名一个表意味着在同一个模式中重命名一个表。要在其他模式中重命名,db2调用它的ALIAS:db2创建别名
6条答案
按热度按时间scyqe7ek1#
不能更改给定对象的架构。必须重新创建它。
有几种方法可以做到这一点:
insert into schema2.mytable select * from schema1.mytable
最后两个选项只会建立表格结构,您仍然需要汇入数据。建立表格之后,您可以使用不同的方式插入数据:
insert into schema2.mytable select * from schema1.mytable
个问题是对外关系,因为它们必须重新建立。
最后,您可以创建一个alias。这更容易,而且您不必处理关系。
cunj1qz12#
您可以使用以下语句轻松地重命名表:
3okqufwl3#
在提供的示例中,您没有重命名表,而是尝试移动到不同的模式,这不是一回事。请查看db2move工具。
rsl1atfo4#
如果要重命名同一架构中的表,可以像这样使用。
否则,您可以使用DBeaver之类的工具重命名或复制db2 db中的表。
d7v8vwbk5#
如果您保持原样并使用新名称和模式创建一个别名,会怎么样?
lyfkaqu16#
重命名一个表意味着在同一个模式中重命名一个表。要在其他模式中重命名,db2调用它的ALIAS:
db2创建别名