我用的是SQL7.0,有20个单表,table1,table2,table3,tabl4,table5......table20和一个汇总表sumtable,这个7个表结构相同,请问用什么办法可以当table1表到table20表有记录增加或删除时,在sumtable中同时也增加或删除?有人说用触发器可以,但我不懂如何使用?还有用什么办法,可以快速查询到table1-table20这些表中的符合条件的记录?请高手帮忙!

解决方案 »

  1.   

    1/触发器可以让table1,table2,table3,tabl4,table5......table20有变动之后在sumtable做相应变动可以参考:http://www.yesky.com/402/1933402.shtml2/要查记录就麻烦了,因为涉及的表太多了。分组进行查询可能会快些。
    把table1-table5相应符合条件的放在临时表Lin1
    把table6-table10相应符合条件的放在临时表Lin2
    把table11-table15相应符合条件的放在临时表Lin3
    把table16-table20相应符合条件的放在临时表Lin4然后在对lin1,line2,lin3 ,lin4查询符合条件的记录
    最后强烈建议改表,因为理论上是不可能关联这么多表。
      

  2.   

    既然已经有了table1,table2等表为什么还要sumtable表呢,要不数据都往sumtable表中写,查询时从sumtable表中读取,要不分别往不同的表中写数据,查询时从不同的表中取出
      

  3.   

    table1-table20是临时表,sumtable是汇总表,查询时真的很麻烦,不知有没有更好的办法?
      

  4.   

    我是用VB6.0开发的,请问触发器在SQL中定义,还是可以用VB来实现?
      

  5.   

    SQL7.0夠老的版本了...
    選表 然後 所有任務 管理觸發器
    一般格式就是
    Insert觸發器
    CREATE TRIGGER 觸發器名 ON [表名] 
    FOR INSERT
    AS
    Insert sumtable Select () From Inserted
    就可以了
    Update觸發器
    CREATE TRIGGER 觸發器名 ON [表名] 
    FOR update
    as
    If Update(列名)
    Update sumtable Set 列名=Inserted.列名 from Sumtable s,Inserted i Where 條件
    Delete
     CREATE TRIGGER 觸發器名 ON [表名] 
    FOR Delete
    as
    這個好像要用游標了
    不過 你可以再程序裏面完成啊 如果你對sql不是很熟悉的話Sumtable 就是再操作你那些臨時表的時候 也將數據寫入到 可能代碼不好修改 但是簡單
      

  6.   

    请问用什么办法可以当table1表到table20表有记录增加或删除时,在sumtable中同时也增加或删除?//*******************************************************************************
    ************************************************************************************
     你可以同步操作这些表
     比如你在TABLE1里面增加了内容,接下来马上就在SUMTABLE里面做相应的操作!!