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查询最小值所在行数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)