我遇到的问题是,当我在 Oracle 中运行以下命令时,遇到错误。
Truncate table mytable;
Errors:
ORA-02266: unique/primary keys in table referenced by enabled foreign keys
我发现,这个mytable与其他表有关系。这就是截断命令无法再继续的原因。如何使用 Truncate 命令通过 SQL 脚本从 myTable 中删除数据?
您必须将 TRUNCATE 语句交换为 DELETE 语句,速度较慢且已记录,但这是在存在约束时执行此操作的方法。
DELETE mytablename;
或者您可以找到引用相关表的外键并暂时禁用它们。
select 'ALTER TABLE '||TABLE_NAME||' DISABLE CONSTRAINT '||CONSTRAINT_NAME||';'
from user_constraints
where R_CONSTRAINT_NAME='<pk-of-table>';
Where pk-of-table
是被截断的表的主键的名称
运行上述查询的输出。完成后,记得再次启用它们,只需更改DISABLE CONSTRAINT
into ENABLE CONSTRAINT
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)