两表通过字段关联进行级联删除

    1. /*  
    2. 标题:两表通过字段关联进行级联删除。  
    3. 作者:爱新觉罗·毓华(十八年风雨,守得冰山雪莲花开)   
    4. 时间:2008-11-20  
    5. 地点:广东深圳  
    6. */  
    7.   
    8. create table ta(id int not null)  
    9. create table tb(id int , aid int)  
    10. insert into ta values(1)  
    11. insert into ta values(2)  
    12. insert into tb values(1 , 1)  
    13. insert into tb values(2 , 2)  
    14. insert into tb values(3 , 1)  
    15. go  
    16.   
    17. --一、查看原始数据  
    18. --ta表的原始数据  
    19. select * from ta  
    20. /*  
    21. id            
    22. -----------   
    23. 1  
    24. 2  
    25. */  
    26. --tb表的原始数据  
    27. select * from tb  
    28. /*  
    29. id          aid           
    30. ----------- -----------   
    31. 1           1  
    32. 2           2  
    33. 3           1  
    34. */  
    35.   
    36. --二、看看没有创建级联删除时的情况(删除ta表id=1的数据,看看是否影响tb表)  
    37. delete from ta where id = 1  
    38. select * from ta  
    39. /*  
    40. id            
    41. -----------   
    42. 2  
    43. */  
    44. select * from tb  
    45. /*  
    46. id          aid           
    47. ----------- -----------   
    48. 1           1  
    49. 2           2  
    50. 3           1  
    51. */  
    52.   
    53. --三、恢复原始数据,创建级联删除,删除ta表id=1的数据,看看是否影响tb表  
    54. insert into ta values(1)  
    55. --为ta创建主健  
    56. alter table ta add constraint pk_ta_id primary key (id)  
    57. go  
    58. --为tb创建外健,并指定级联删除  
    59. alter table tb add constraint fk_tb_aid foreign key (aid) references ta(id) on delete cascade  
    60. go  
    61. delete from ta where id = 1  
    62. select * from ta  
    63. /*  
    64. id            
    65. -----------   
    66. 2  
    67. */  
    68. select * from tb  
    69. /*  
    70. id          aid           
    71. ----------- -----------   
    72. 2           2  
    73. */  
    74.   
    75. --删除级联约束  
    76. alter table tb drop constraint fk_tb_aid  
    77. go  
    78. --删除测试表  
    79. drop table ta , tb  
    80. go 
posted @ 2012-10-27 08:28  生命周期管理  阅读(170)  评论(0)    收藏  举报