如果要任意就只能创建动态SQL来完成.

解决方案 »

  1.   

    if object_id('ta')is not null drop table ta
    go
    create table ta(aid int ,[Name] varchar(10))
    insert ta select 1,'A'
    insert ta select 2,'A'
    if object_id('tb')is not null drop table tb
    go
    create table tb(bid int ,[Name] varchar(10))
    insert tb select 1,'A'
    insert tb select 3,'A'
    if object_id('tc')is not null drop table tc
    go
    create table tc(cid int ,[Name] varchar(10))
    insert tc select 1,'A'
    insert tc select 5,'A'
    if object_id('tri_a')is not null drop trigger tri_a
    go
    create trigger tri_a on tb 
    for delete
    as
       delete ta from deleted d where ta.aid=d.bid
       delete tc from deleted d where tc.cid=d.bid
    go
    delete tb where bid=1
    select * from ta
    select * from tb
    select * from tc
    /*aid         Name       
    ----------- ---------- 
    2           Abid         Name       
    ----------- ---------- 
    3           Acid         Name       
    ----------- ---------- 
    5           A
    */