我想改变db2中的表名
rename table X to Y;
但是这个表有依赖关系,所以我得到了这个错误:
DB2 SQL Error:SQLCODE=-750, SQLSTATE=42986, SQLERRMC=null, DRIVER=3.57.82
如何重命名此表?
答案 0 :(得分:2)
您可以使用admin_mov_table存储过程重命名该表。
call SYSPROC.ADMIN_MOVE_TABLE ('myschema', 'X', 'Y', '', 'MOVE');
答案 1 :(得分:1)
在该表上运行db2look
以获取所有引用,并备份此DDL。
删除所有约束,并删除引用表
的所有触发器重命名你的表
使用DDL,将其更改为指向新表名,然后重新创建依赖项
答案 2 :(得分:0)
很多原因都可能导致这种错误:
首先是您尝试重命名的表的创建索引。删除索引并重命名表:
<!DOCTYPE html>
<html ng-app="store">
<head>
<link rel="stylesheet" href="style.css">
</head>
<body ng-controller="StoreController as vm">
<section>
<div ng-repeat="product in vm.products" class="product">
<h2>{{product.category}}</h2>
<div ng-repeat="product in product.products">
<a href ng-click="vm.select(product)">{{product.name}}</a>
</div>
</div>
</section>
<section id="results">
Selected product data should be loaded here:
<div class="product">
<h2>{{vm.selected.name}}</h2>
<div class="product-desc">
<p>{{vm.selected.description}}</p>
</div>
</div>
</section>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.3/angular.min.js"></script>
</body>
</html>
再次创建索引。
另一个原因是对象(视图,存储过程和外键)。此请求显示哪个对象链接到您要重命名的表:
RENAME TABLE YourSchemaName.OldtableName TO NewTableName;