如何只更新数据库的个别数据项

freefish45 2011-05-19 05:20:23
我从sql server 2005的一个数据库的表中提取了当前日期减7天和加10天的数据,批量导入到oracle数据库中,但是当天的以及加10天的数据项是实时更新的,批量导入时以时间项和号码唯一锁定一条数据,如果存在则不插入。
表数据项如下:
日期:date datetime
号码: hm vchar(20)
计划发送时间:jhfssj datetime
预计发送时间:yjfssj datetime
实际发送时间:sjfssj datetime
电子邮件:email vchar(max)
地址:addr vchar(max)
SQL 和ORACLE数据库字段都是这样,其中实际发送时间和地址是实时更新的,如果我每三分钟做一次提取和导入,应该如何写判断语句?
...全文
165 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qgqch2008 2011-06-13
  • 打赏
  • 举报
回复
假如實際時間是1900-1-1 00:00:00就是表示沒有實際時間對吧,那你在sql server 2005查詢的時候這樣試試
select 日期, 号码, 计划发送时间, 预计发送时间,case 实际发送时间 when '1900-1-1 00:00:00' then null else 实际发送时间 end 实际发送时间,电子邮件 地址 from tb where ...
freefish45 2011-05-19
  • 打赏
  • 举报
回复
举个例子吧,数据在SQL数据库里是这样的:
日期 号码 计划发送时间 预计发送时间 实际发送时间 电子邮件 地址
2011-5-19 12345678901 2011-5-19 10:00:00 2011-5-19 10:00:00 1900-1-1 00:00:00 abcd@126.com 空
2011-5-19 12345678902 2011-5-19 22:00:00 2011-5-19 22:00:00 1900-1-1 00:00:00 abcd@126.com 空
2011-5-20 12345678903 2011-5-20 00:00:00 2011-5-20 10:00:00 1900-1-1 00:00:00 abcd@126.com 空
我第一次提取插入oracle数据库提取到的就是这些数据
但是到2011-5-19 22:00:00时,第二条数据里1900-1-1 00:00:00数据项会更新为实际的时间(如2011-5-19 22:23:00),地址更新成实际地址:测试
第三条数据也是如此
但是第二次再做提取的时候,只要查找到
2011-5-19(日期) 12345678901(号码)这两项数据存在,就不会做插入
请问怎么处理



[Quote=引用 1 楼 tangren 的回复:]
描述不清楚
[/Quote]
tangren 2011-05-19
  • 打赏
  • 举报
回复
描述不清楚

3,499

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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