请高手帮我写几个oracle主从表的怎删改差,主表和从表的都要,主表的id是主键,从表的ID是外键。

2025-04-09 00:22:37
推荐回答(2个)
回答1:

设主表A主键K,从表B外键K 1、查询 Select A.*,B.* from A,B where A.K=B.K(+); 2、删除 先删除从表的记载,再删除主表的记载。 3、修正 若修正内容不触及主键和外键,则可以随意修正; 需求修正主键和外键,按以下步骤处置: a. 要先在主表中添加一行(主键)正确的记载; b. 修正从表的外键; c. 删除主表中(主键)错误的记载。

有很多人说 oracle的检索顺序是从后往前的, 可是我却觉得不是这么复杂的,oracle的查询优化器,会辨别对各段停止估量,哪段先检索,哪段停止关联... 我以为你这个sql select * from a where (id=1 or id =2 or id =3 or id=4) and id=4 在优化后,前一段 (id=1 or id =2 or id =3 or id=4) 应该就不会被执行了。 详细未测试。

=4是最高的 假如你id树立了索引就更好假如你的列确定就更好

特别推荐的网络问题执行下列命令语句 sqlplus / as sysdba <

回答2:

设主表A主键K,从表B外键K
1、查询 Select A.*,B.* from A,B where A.K=B.K(+);
2、删除 先删除从表的记录,再删除主表的记录。
3、修改 若修改内容不涉及主键和外键,则可以随意修改;
需要修改主键和外键,按以下步骤处理:
a. 要先在主表中增加一行(主键)正确的记录;
b. 修改从表的外键;
c. 删除主表中(主键)错误的记录。