在oracle触发器中怎么得到“当前”更新的行数据

在oracle触发器中怎么得到“当前”更新的行数据,第1张

create or replace trigger tr_t1_u

after update on t1---当修改了t1时触发

for each row

begin

update t2 set col1 = :newcol1,col2=:newcol2,

where id = :oldid; -- id是关键列,不能修改;或者其他关联条件

end;

能表达的清楚些么?要查一条数据,用where条件总是能查的,如果是已经是一个结果集,要在结果集中将第二条数据取出来,那么你得先开窗函数dense_rank()over(partition by XXX order by YYY desc/asc) tn然后取tn=2的值。

具体可以百度下:

dense_rank()

over()

partition by

还有:

select from(

select t,rownum rn from

(select e from emp e order by esal desc) t ) where rn = 2;

希望能对你有所帮助

对这类没悬赏又长的题不太喜欢回答,不过为了采纳率,还是告诉你办法吧。

把你写的东西看成是一个table,再连接要获取字段的对应table就可以了,是不 是很简单

select from (

select tablea车牌, tablea数值, tablea序号, min(tablea数值-tableb数值)as T from tablea, tableb where tablea车牌=tableb车牌 and tablea序号=1 and tableb序号=1 and tablea数值-tableb数值>0 group by tablea车牌, tablea数值, tablea序号) AS A , tablea AS B, tableb AS C

where A车牌=B车牌 and A车牌=C车牌

AND A序号=B序号 AND他们之间的关系,自己会写吧

rowid记录了oracle数据库中每条记录的物理地址

是有先后顺序之分的

根据rowid排序后的结果的伪列rownum来定位你需要的下一条记录

比如:

with temp as (

select col,rownum as rn

form (select col from table_name order by rowid) a

)

select t,p

from temp t

left join temp p

where tcol='ABC'

and trn=prn-1

以上就是关于在oracle触发器中怎么得到“当前”更新的行数据全部的内容,包括:在oracle触发器中怎么得到“当前”更新的行数据、oracle怎样查第二行数据出来、oracle查询最小值所在行数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9544318.html

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

发表评论

登录后才能评论

评论列表(0条)

保存