有关数据库的问题 (150分)

  • 主题发起人 主题发起人 fstao
  • 开始时间 开始时间
F

fstao

Unregistered / Unconfirmed
GUEST, unregistred user!
有三个表,dbo.table1、dbo.table2和dbo.table3。
dbo.table1和dbo.table2一有数据就往dbo.table3添加:
insert into table3 select * from table1 where id not in (select id from table3)

insert into table3 select * from table2 where id not in (select id from table3)

如果修改dbo.table1和dbo.table2的某些数据时,那么dbo.table3相对应dbo.table1和dbo.table2
的数据就要修改。也就是说,把dbo.table1和dbo.table2的所有的数据合并成dbo.table3,如果
dbo.table1或者dbo.table2的某些数据修改时,则dbo.table3对应的数据也相应修改。
如果写sql语句好是好,但有一个问题,当dbo.table3的数据非常庞大时(超过1千万条数据),
那么写sql语句来实现就会非常慢,有没有其他很好的方法?
数据库为sql server 7。
 
你没用触发器?
 
干脆创建一个View,是table1和table2的集合算了,何必非得在table3中保存一份
重复的数据。
 
同意 wvision
 
1。如果三个表的结构基本相同最好是创建一个合适的视图。

2。表一,表二上各写一个触发器。
 
奇怪的要求。
同意wvision。
 
也同意 wvision
 
这个要求不奇怪啊

从VIEW里选数据比从TABLE里要慢多喽。
特别是如果你这个VIEW本身比较复杂的话。
另外还得看你VIEW在SQL里怎么用
 
多人接受答案了。
 
后退
顶部