두 테이블은 필드 연결을 통해 단계적으로 삭제됩니다

/*
  :              。
  :    ·  (     ,        ) 
  :2008-11-20
  :    
*/

create table ta(id int not null)
create table tb(id int , aid int)
insert into ta values(1)
insert into ta values(2)
insert into tb values(1 , 1)
insert into tb values(2 , 2)
insert into tb values(3 , 1)
go

-- 、      
--ta      
select * from ta
/*
id          
----------- 
1
2
*/
--tb      
select * from tb
/*
id          aid         
----------- ----------- 
1           1
2           2
3           1
*/

-- 、              (  ta id=1   ,      tb )
delete from ta where id = 1
select * from ta
/*
id          
----------- 
2
*/
select * from tb
/*
id          aid         
----------- ----------- 
1           1
2           2
3           1
*/

-- 、      ,      ,  ta id=1   ,      tb 
insert into ta values(1)
-- ta    
alter table ta add constraint pk_ta_id primary key (id)
go
-- tb    ,       
alter table tb add constraint fk_tb_aid foreign key (aid) references ta(id) on delete cascade
go
delete from ta where id = 1
select * from ta
/*
id          
----------- 
2
*/
select * from tb
/*
id          aid         
----------- ----------- 
2           2
*/

--      
alter table tb drop constraint fk_tb_aid
go
--     
drop table ta , tb
go

좋은 웹페이지 즐겨찾기