请教一个SQLSERVER优化问题

bdb 2010-03-24 05:44:46
下午好,
现在有个优化问题要请教各位高人:

现在我使用SAP BW 做增量(即第一次全部抽取后,以后就是抽取变化(新增,修改,删除)的记录)抽取SQLSERVER数据源.

SQLSERVER之前的表设置不合理,我没有办法判断那些数据是否是变化的记录,我就使用触发器来抓取发生变化的记录,
用来插入新的一个 表B 中去,SAP BW增量抽取的记录就是B表,然后在SQLSERVER触发器或写过了多少个小时就把该表的数据删除。这是一种办法。

第二种办法:如果SQLSERVER原数据的表都有建立日期,最后日期 二个字段,我现在使用触发器来记录这些变化的记录,修改最后日期字段的时间,建一个视图来判断那些数据发生变化了,但是如果记录第三次修改了,那最后的时间为现在时间,那第二次修改的时间你是否会放到建立时间上去? 第四次修改,第三次修改的最后时间放到建立时间上去? 如果不是,那在视图中如何判断第二次修改后的记录是否再次修改过了?所以要建三个日期字段:建产日期,修改日期,最后修改日期。

请教各位高人,你们有什么好的办法可以在视图上中判断该表的记录是否是发生变化的记录呢?

谢谢。
...全文
109 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
bdb 2010-04-02
  • 打赏
  • 举报
回复
到此结贴。
menggang9801 2010-03-26
  • 打赏
  • 举报
回复
学习一下
永生天地 2010-03-26
  • 打赏
  • 举报
回复
下班了,顶一把
bdb 2010-03-26
  • 打赏
  • 举报
回复
这样写不好。在视图中处理链也不方便
jwwyqs 2010-03-25
  • 打赏
  • 举报
回复
在原表上加一个字符列 存日期的字符串,中间用,号隔开
如'2005-03-23,2005-03-23,2005-03-23'
取的时候 根据逗号来区分 几个逗号就修改了n+1次 日期大小就是修改顺序
bdb 2010-03-25
  • 打赏
  • 举报
回复
fcuandy ,用timestamp,只用一列? 一列不可能实现在一个表里比较呢? 能不能说得详细点呢?
fcuandy 2010-03-24
  • 打赏
  • 举报
回复
timestamp数据列。
--小F-- 2010-03-24
  • 打赏
  • 举报
回复
你这个还是用触发器比较好实现..
bdb 2010-03-24
  • 打赏
  • 举报
回复
或者不使触发器,建日期,建表的,直接使用原表,通过写一个视图就可以判断那些记录是发生变化的记录呢?

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧