这条SQL语句该怎么写?
表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中的记录不再重复插入????
望高手指点,谢先!!!
表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中的记录不再重复插入????
望高手指点,谢先!!!
写用过程,用游标来处理..
不知道你是想说“你想循环执行这条语句“还是“这条sql语句是循环执行的“
如果是第一种,也就说表B是增加的,可以考虑触发器来执行
如果是第二中,直接
insert into C
select * from B where B.sercode = A.sercode and B.sendtime =sysdate
即可
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)
insert into C
select * from B where B.sercode = A.sercode and B.sendtime =sysdate and
B.sercode not in (select sercode from C)
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)))