现有两个表:
表B的xxx列是表A的xxx列的外键,现在譬如要删除A.Name='a'的列(表B中没有Name这个列),
怎样才能从表B中也删除相应的记录? 这个SQL语句要怎么写呢?谢谢谢谢~
表B的xxx列是表A的xxx列的外键,现在譬如要删除A.Name='a'的列(表B中没有Name这个列),
怎样才能从表B中也删除相应的记录? 这个SQL语句要怎么写呢?谢谢谢谢~
百度到什么cascade级联删除,看不懂诶,这是什么意思,书上也没有相关介绍啊?
如果很多的表之间都有外键关系的话,那要在取消外键后,对每张表里的相应记录做删除么?
SQL Server就没有智能点的自动连带删除的么?
级联删除是删除主表B记录时,同时删除从表A中引用列的记录!
请问怎么级联删除呢,能写个SQL语句么?书上真的翻不到,百度到一点也看不太懂- -
create table A (id int primary key);
insert into A values(1)
insert into A values(2)
gocreate table B (
id1 int references A(id) on delete cascade,
id2 int,
primary key (id1,id2))
insert into B values(1,1)
insert into B values(1,2)
insert into B values(2,1)
insert into B values(2,2)
godelete from A where id=1select * from Bdrop table B,A
/*id1 id2
----------- -----------
2 1
2 2(2 行受影响)
id1 int references A(id) on delete cascade,可这个cascade设置在哪里呢?
在查询编辑器里面那种就一两句语句的怎么写额?谢谢谢谢~
额 悲催 暂时搞不定了 发现目前只会勉强写select 不会delete 囧
create trigger a_del
on a
for delete
as
delete
from b
where b.ano in(select ano from deleted)delete from a where aname='xx'
select * from a这段代码执行之后完全没效果诶。为啥呢= =
on a
for delete
as
delete
from b
where b.ano in(select ano from deleted)delete from a where aname='xx'
select * from a