如果分别修改那就比较简单了(先确定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表内容。
两表关联更新用如下方法。
有以下两张表:
根据test2表中的id和test1表中的id关联,修改test1表中name字段,语句如下:
update test1 a set a.name=(select b.name from test2 b where a.id=b.id) where a.id in (select id from test2)
更新后,test1表中结果:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)