加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 在Oracle中截断表获取错误

发布时间:2020-12-12 16:36:56 所属栏目:MsSql教程 来源:网络整理
导读:我遇到的问题是当我在Oracle中运行以下命令时,我遇到错误. Truncate table mytable; 错误: ORA-02266: unique/primary keys in table referenced by enabled foreign keys 我发现,这个mytable与其他表有关系.这就是为什么Truncate命令不能继续.如何使用SQL语
我遇到的问题是当我在Oracle中运行以下命令时,我遇到错误.
Truncate table mytable;

错误:

ORA-02266: unique/primary keys in table referenced by enabled foreign keys

我发现,这个mytable与其他表有关系.这就是为什么Truncate命令不能继续.如何使用SQL语句使用Truncate命令从myTable中删除数据?

解决方法

您必须将TRUNCATE语句交换为DELETE语句,缓慢并记录,但是当约束到位时,这样做就可以了.
DELETE mytablename;

或者您可以找到引用该表的外键,并暂时禁用它们.

select 'ALTER TABLE '||TABLE_NAME||' DISABLE CONSTRAINT '||CONSTRAINT_NAME||';'
from user_constraints
where R_CONSTRAINT_NAME='<pk-of-table>';

其中pk-of-table是要截断的表的主键的名称

运行上述查询的输出.当这样做完成时,请记住再次启用它们,只需将DISABLE CONSTRAINT更改为ENABLE CONSTRAINT

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读