这条SQL语句该怎么写?

tinwoo 2004-08-11 04:33:26
表A:有字段sercode varchar2(10)
表B:有字段sercode varchar2(10),sendtime date
表C:有字段sercode varchar2(10), sendtime date

请问,我现想从表B中找出 B.sercode = A.sercode and B.sendtime =sysdate 的记录插入表C中,
由于这条SQL是循环执行,怎么样才能保证已插入表C中的记录不再重复插入????
望高手指点,谢先!!!
...全文
86 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
daihaidong 2004-08-11
  • 打赏
  • 举报
回复
insert into c(sercode , sendtime )
(select sercode, sendtime from a, b
where B.sercode = A.sercode and B.sendtime =sysdate
and (( B.sercode, B.sendtime ) NOT IN (SELECT C.sercode, C.sendtime FROM C)))
yogihoo 2004-08-11
  • 打赏
  • 举报
回复
insert into C
select * from B where B.sercode = A.sercode and B.sendtime =sysdate and
B.sercode not in (select sercode from C)
sijian2001 2004-08-11
  • 打赏
  • 举报
回复
INSERT INTO C (SERCODE, SENDTIME)
SELECT DISTINCT B.SERCODE, B.SENDTIME
FROM A, B
WHERE B.SERCODE = A.SERCODE
AND B.SENDTIME = SYSDATE
AND NOT EXISTS (SELECT * FROM C WHERE B.SERCODE = C.SERCODE AND B.SENDTIME = C.SENDTIME)
wylwyl1130 2004-08-11
  • 打赏
  • 举报
回复
不知道你是想说“你想循环执行这条语句“还是“这条sql语句是循环执行的“
如果是第一种,也就说表B是增加的,可以考虑触发器来执行
如果是第二中,直接
insert into C
select * from B where B.sercode = A.sercode and B.sendtime =sysdate
即可
dinya2003 2004-08-11
  • 打赏
  • 举报
回复
写用过程,用游标来处理..

3,491

社区成员

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

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