利用timestamp做增量数据导出的问题

soooon 2010-09-23 05:51:29
有个老系统,数据库是sqlsever2000。现需要每天定时对一些表做增量式数据导出,前提是不允许使用触发器,不允许动表结构。
研究了一下表结构,发现需要导出数据的表都有一个timestamp字段。想利用这个字段从表中找出增量数据。具体做法如下:

对某个表做导出时,记录下本次导出的最后一行数据的timestamp值。当下次执行导出时,找表中比这个timestamp大的数据,并按timestamp字段正序排序后导出,再次记录timestamp值。

这种方法可行吗?有漏洞吗?
...全文
73 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
billpu 2010-09-24
我觉得这个应该是个不错的办法,看楼主的需求,关键是对原表不能更改结构(不能加触发器),不然添加个字段用触发器操作是简单的,可以省掉很多麻烦.
回复
lcw321321 2010-09-24
USE [tempdb]
GO
CREATE TABLE [dbo].[A](
[AA] [timestamp] NOT NULL,
[BB] [nchar](10) NULL
) ON [PRIMARY]

GO
INSERT INTO A(BB) VALUES('AA')

SELECT * FROM A

UPDATE A SET BB='DD'

SELECT * FROM A

当你UPDATE 一行的任何列的时候timestamp 的值会发生改变的,也就是说你的增量导出可能会重复修改的部分。
回复
zsh0809 2010-09-23
帮顶~~
回复
claro 2010-09-23
或许,为何不用datetime。
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2010-09-23 05:51
社区公告
暂无公告