我想更改 db2 中的表名
rename table X to Y;
但是这个表有依赖关系,所以我得到这个错误:
DB2 SQL Error:SQLCODE=-750, SQLSTATE=42986, SQLERRMC=null, DRIVER=3.57.82
如何重命名此表?
我想更改 db2 中的表名
rename table X to Y;
但是这个表有依赖关系,所以我得到这个错误:
DB2 SQL Error:SQLCODE=-750, SQLSTATE=42986, SQLERRMC=null, DRIVER=3.57.82
如何重命名此表?
您可以使用 admin_mov_table 存储过程重命名表。
这里的信息:http: //publib.boulder.ibm.com/infocenter/db2luw/v10r1/topic/com.ibm.db2.luw.sql.rtn.doc/doc/r0055069.html
call SYSPROC.ADMIN_MOVE_TABLE ('myschema', 'X', 'Y', '', 'MOVE');
在该表上运行 adb2look
以获取所有引用,并备份此 DDL。
删除所有约束,并删除所有引用该表的触发器
重命名你的表
使用 DDL,将其更改为指向新的表名,并重新创建依赖项
许多原因可能导致此错误:
首先是您尝试重命名的表的创建索引。删除索引并重命名表:
RENAME TABLE YourSchemaName.OldtableName TO NewTableName;
并再次创建索引。
另一个原因是对象(视图、存储过程和外键)。此请求向您显示哪个对象链接到您要重命名的表:
select *
from SYSCAT.TABDEP t
where t.BSCHEMA = 'YourSchemaName'
and t.BNAME = 'YourTableName';