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

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

这个是考察你的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表,除了这些数据以外。

SQL不能做这样的逻辑判断吧,应该使用java语言或者其他语言来控制判断吧,设置一下多表关系,然后在后台读出做判断,在通过使用hibernate关联关系,把表设成2个关联的对象。。。当你判断是需要增加的时候,把两个对象互相加到对方的对象中就可以(要注意的是在对象类:表中,要设定对方对象的属性),不知道能否给你带来有用的信息,望采纳。

要实现两个表之间的数据的自动更新,可以采用触发器来实现,触发器的实现方法:

1、A表有数据更新的时候自动更新B表:

create

or

replace

trigger

tg

after

update

on

A

for

each

row

begin

update

B

set

xx=xx

where

b.aid

=

a.id

end

/

2、A表插入数据时,B表更新数据:

create

or

replace

trigger

tgg

after

insert

on

A

for

each

row

begin

insert

B

values(xxxx)

end

/

如果不需要每条数据都跟新,只需要在每次A更新的时候更新B,可以将后面的for

each

row去掉。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9900924.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存