Oracle中多表关联如何修改数据?

Oracle中多表关联如何修改数据?,第1张

不管是update还是merge每次都是只能修改一站表,还没听说一次修改两张表的。

如果分别修改那就比较简单了(先确定B列是否唯一,如果不唯一,那么可能存在修改扩大的问题,所以可能还要修改语句),update a set a.d=2 where a.b=(select b from E where h=1)(这是a表的,b表的改法更容易)

如果一起修改,那么可能只能临时修改,也就是select的时候修改一下,这个一般没什么用。

设定dept表deptno列为主键。

alter

table

dept

add

constraint

pk_deptno

primary

key

(deptno)

在emp表deptno列上建立外键引用dept表deptno,指定外键类型为级联删除。

alter

table

emp

add

constraint

fk_deptno

foreign

key

(deptno)

references

dept(deptno)

on

delete

cascade

这样删除dept表

只需:delete

from

dept

where

city='shanghai'

就可以自动删除对应emp表内容。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6645194.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存