在db2中重命名具有依赖项的表

在db2中重命名具有依赖项的表,db2,Db2,我想在db2中更改一个表名 rename table X to Y; 但此表具有依赖项,因此我得到以下错误: DB2 SQL Error:SQLCODE=-750, SQLSTATE=42986, SQLERRMC=null, DRIVER=3.57.82 如何重命名此表?在该表上运行db2look,以获取所有引用,并备份此DDL 删除所有约束,并删除引用表的所有触发器 重命名您的表 使用DDL,将其更改为指向新表名,然后重新创建依赖项在该表上运行db2look,以获取所有引用,并备份此DD

我想在db2中更改一个表名

rename table X to Y;
但此表具有依赖项,因此我得到以下错误:

DB2 SQL Error:SQLCODE=-750, SQLSTATE=42986, SQLERRMC=null, DRIVER=3.57.82

如何重命名此表?

在该表上运行
db2look
,以获取所有引用,并备份此DDL

删除所有约束,并删除引用表的所有触发器

重命名您的表


使用DDL,将其更改为指向新表名,然后重新创建依赖项

在该表上运行
db2look
,以获取所有引用,并备份此DDL

删除所有约束,并删除引用表的所有触发器

重命名您的表


使用DDL,将其更改为指向新表名,然后重新创建依赖项

您可以使用admin\u mov\u table存储过程重命名该表

以下是资料:


可以使用admin_mov_table存储过程重命名该表

以下是资料:


导致这种错误的原因有很多:

首先是您尝试重命名的表的创建索引。删除索引并重命名表:

RENAME TABLE YourSchemaName.OldtableName TO NewTableName;
然后再次创建索引

另一个原因是对象(视图、存储过程和外键)。此请求显示链接到要重命名的表的对象:

select * 
from SYSCAT.TABDEP t
where t.BSCHEMA = 'YourSchemaName'
  and t.BNAME = 'YourTableName';

导致这种错误的原因有很多:

首先是您尝试重命名的表的创建索引。删除索引并重命名表:

RENAME TABLE YourSchemaName.OldtableName TO NewTableName;
然后再次创建索引

另一个原因是对象(视图、存储过程和外键)。此请求显示链接到要重命名的表的对象:

select * 
from SYSCAT.TABDEP t
where t.BSCHEMA = 'YourSchemaName'
  and t.BNAME = 'YourTableName';