加入收藏 | 设为首页 | 会员中心 | 我要投稿 天瑞地安资讯网_保定站长网 (https://www.52baoding.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

删除没有名称Oracle的外键

发布时间:2021-01-08 16:37:49 所属栏目:站长百科 来源:网络整理
导读:我想在这里问一个非常基本的问题. 在创建表时或创建表后,我们可能/可能不会命名约束. 假设我选择不命名外键约束. 该表没有记录. 我可以在不命名的情况下删除外键名称. 我知道如何获取外键的名称,然后使用它删除 alter table my_table drop constraint fk_nam

我想在这里问一个非常基本的问题.
在创建表时或创建表后,我们可能/可能不会命名约束.
假设我选择不命名外键约束.

该表没有记录.

我可以在不命名的情况下删除外键名称.

我知道如何获取外键的名称,然后使用它删除

alter table my_table drop constraint fk_name;

但我想删除/删除外键约束而不提及其名称.

无论如何要做到这一点?

解决方法

but i want to delete/drop the foreign key constraint without mentioning its name.

那是不可能的.删除外键约束需要一个名称.但是,您可以找到系统生成的名称:

select constraint_name
from user_constraints
where table_name = 'MY_TABLE'
  and constraint_type = 'R';

将显示表MY_TABLE上定义的所有外键.使用该语句,您甚至可以生成必要的DDL语句:

select 'alter table "'||table_name||'" drop constraint "'||constraint_name||'";'
from user_constraints
where table_name = 'MY_TABLE'
  and constraint_type = 'R';

将该选择的输出保存到文件中,并且您具有从该表中删除所有外键的语句.

(编辑:天瑞地安资讯网_保定站长网)

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