SQL数据库,把A表最新数据更新到B表中

现在数据库有v_sale_DTL , u_sale_dtl_sy两个表,v_sale_DTL是实时写入的最新数据,每天需要执行一个语句,把 u_sale_dtl_sy中没有的v_sale_DTL数据更新进来。应该怎么写?我附图只有几十行,实际数据库中有几千万行数据,每天要更新近万条数据,不可能把 u_sale_dtl_sy整个清空重新去v_sale_DTL取值,那样效率太低了,将近半小时。是否应该用no EXISTS,可我怎么写都不对,正确的写法应该是什么?

    这个是考察你的not EXISTS 是否熟练掌握。

    正确的语句如下:select * from v_sale_DTL a  where  not EXISTS (select  saleno,rowid from  u_sale_dtl_sy  where  saleno=a.saleno and rowid=a.rowid)

    注意:

    ①第一:from那里定义了a表,not EXISTS 里面的from不需要再引用a表,条件里面可以直接使用a表。

    ②第二:not EXISTS 里面,需要哪些条件select哪些条件就行,和正常的select用法一模一样。写好以后,意思就是查询a表,除了这些数据以外。

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答