我的问题是:在一个表中删除一条记录引起另一个表匹配的行或者整个表的对应删除,也就是主记录的子记录的级联删除操作,听高人说可以用SQL Server里的触发器(数据库是用SQL Server建的),可是我不知道怎么操作,请各位高手指点。多谢了!

解决方案 »

  1.   

    create trigger 触发器名
    on 表名
    for delete as 
    begin
      ...........
    end
    go
      

  2.   

    呵呵!
    楼上的说的很详细了!
    顶吧!
    先在数据库中建立一个触发器
    create trigger 触发器名
    on 表名
    for delete as 
    begin
      ...........
    end
    go
    然后再调用!
      

  3.   

    找一本sql server的书籍好好的看看吧,你连这个都不了解,给你说了也没有用,一个形象的比喻就是触发器就象一条看门的狗,当满足条件的时候就出发,不满足就不做,而这个过程都再服务器端完成,它的好处在于减轻客户端的负担和网络负担,只需客户端给一个条件,那么服务器就执行,我们也可以在客户端实现,只是这样做的网络流量就特别大,尤其是那种银行系统,股票系统这种东西,而且客户端的负担也增加了!
      

  4.   

    cqwty(笨小孩) 说的很形象
                  就是这个样子的
                  你可以建一个触发器
               建议你找本关于触发器的书看看
      

  5.   

    --假设你要在table1表中的插入事件中做一些事情:
    create trigger a  --触发器名
    on table1
    for insert as 
    begin
      print '我插,我插!'--这就是触发器
      print '别插了,我要受不了了!'--要做的事情
    end
    go
    明白了吧!
      

  6.   

    刚接触SQL Server,请大家谅解!!!多谢!!
    删除从表没有问题,可是从表里面对应的列怎么更新呢?
    如:A与B是主从表的关系,
    A中字段:TestType_NO,TestType_Name, 
    B中字段:Chapter_NO,Chapter_Name,TestType_NO.
       现在删除A中的一条记录,确实能删除B表中对应的记录,可是B表中的Chapter_NO如何随之调整呢.
      

  7.   

    可以在触发器中加相应的UPDATE语句来实现的啊
      

  8.   

    還有一種,根本不需要寫一個字,用Diagrams的级联删除或新增功能
      

  9.   

    同意dreamyyuan,在SQL的约束里好好看看,你会有收获
      

  10.   

    create trigger my_trigger
    on my_table_a
    for delete
    as
    begin
    delete from my_table_b where my_table_b.id not in (select my_table_a.id from my_table_a)
    end
    试试看,也许可以的哦。
      

  11.   

    造成级联删除,在sql  server里不要求它进行级联不就可以了吗??要用trigger的话,看来楼主还是好好看看有关sqlserver方面的书籍吧,嘿嘿
    [email protected]
      

  12.   

    jiangshi99(僵尸先生99)  真牛啊