sql server 触发器实现数据库内的表格之间的传数

我sqlserver2000数据库中有两种表有种实时,一种历史。实时的每30秒更新一次,对实时表执行的是先删除在插入。我想把实时的数据都存到历史数据表中,所有用了触发器,... 我sql server2000数据库中有两种表 有种实时,一种历史。实时的每30秒更新一次,对实时表执行的是先删除在插入。我想把实时的数据都存到历史数据表中,所有用了触发器,代码如下
CREATE TRIGGER zx506 ON [dbo].[kv_jkdata506]
FOR INSERT
AS
set identity_insert kv_jkHTR506 on
insert into kv_jkHTR506 (
[id],
[td],
[rq],
[sj],
[gswd1] ,
[gsyl1] ,
[hswd1] ,
[hsyl1] ,
[hsll1] ,
[gswd2] ,
[gsyl2] ,
[hswd2] ,
[hsyl2] ,
[bsll] ,
[kaidu] ,
[outwd]
)
select *from kv_jkdata506
set identity_insert kv_jkHTR506 off
经过一段时间查看历史表时,发现有的数据是断断续续的,有的中间隔上好几个小时没有数据。求各位大神求指点?
展开
 我来答
百度网友f9f2af3
2012-10-30 · TA获得超过357个赞
知道小有建树答主
回答量:385
采纳率:0%
帮助的人:239万
展开全部
select *from kv_jkdata506

改为
select *from inserted
baiynijecym
2012-10-30 · TA获得超过1841个赞
知道大有可为答主
回答量:1411
采纳率:66%
帮助的人:1172万
展开全部
你是删除实时表中数据是更新到历史资料表中吧,那应该建立delete 触发器才对

CREATE TRIGGER zx506 ON [dbo].[kv_jkdata506]
FOR delete --删除时触发插入到历史资料

AS
set identity_insert kv_jkHTR506 on
insert into kv_jkHTR506 (
[id],
[td],
[rq],
[sj],
[gswd1] ,
[gsyl1] ,
[hswd1] ,
[hsyl1] ,
[hsll1] ,
[gswd2] ,
[gsyl2] ,
[hswd2] ,
[hsyl2] ,
[bsll] ,
[kaidu] ,
[outwd]
)
select * from deleted --此处应为删除的资料

set identity_insert kv_jkHTR506 off
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式