我有两个表b1,b2 字段基本相同。
b1
id st name pt
b2
id name pt不过这两个表不在一起,我要把b1的内容导入b2中。还有就是b1表是时时更新的,(不断增加并更新PT字段)所以,b2要更据b1.pt字段更新b2.pt字段内容,及增加新的内容。如何来写????(我的数据库现有9100条记录,并以每天几百条的方式增加,用循环的方式是不行的!!!)谢谢!!!
b1
id st name pt
b2
id name pt不过这两个表不在一起,我要把b1的内容导入b2中。还有就是b1表是时时更新的,(不断增加并更新PT字段)所以,b2要更据b1.pt字段更新b2.pt字段内容,及增加新的内容。如何来写????(我的数据库现有9100条记录,并以每天几百条的方式增加,用循环的方式是不行的!!!)谢谢!!!
这个问题不难解决啊
如果PT跟时间没关系,那就在B1表中定义一个更新时间字段
定时循环扫描,检查B1表中有没有自上次检查过之后更新的内容
按更新的时间顺序依次把数据更新到B2表就可以了
如果B1的结构不可以更改,又只有一个是日期的字段
那你只能每天更新一次了
就是每天检查B1上一天更新的内容,相应更新B2表
这个用一个游标就可以做完了,不知道你说的循环是什么意思
可对pt的修改就不行了。
b1 用的是oracle 在另一台机子上,b2用的是sql2000
比方说:
b1 有
1001 蔬菜 白菜 已买
而b2为
1001 蔬菜 白菜 没有就得把“没有” 改为“已买”,这样的记录不可能一次就要改9000多。
insert into b2 select * from B2
同步表数据的方法写一个触发器为B1
CREATE TRIGGER [aa] ON [b1]
FOR INSERT, UPDATE, DELETE
AS
declare @id char(10),
@name char(10),
@pt char(10)
select @id=id, @name=name, @pt=pt from inserted
insert into b2 values(@id,@name,@pt)
CREATE TRIGGER [aa] ON [b1]
FOR INSERT, UPDATE, DELETE
AS
insert into b2 (id,name,pt) select * from inserted