选择oracle中最后更新的行

Nit*_*esh 1 sql oracle

如何在oracle数据库中获取最后更新的行或记录?
我想确保触发一个触发器来检查上一个更新的行是否包含所有大写条目,如果没有将它们转换为大写.

Ton*_*ews 5

只需编写一个触发器来执行此操作:

create trigger mytable_trg
before insert or update on mytable
for each row
begin
   :new.col1 := upper(:new.col1);
   :new.col2 := upper(:new.col2);
end;
Run Code Online (Sandbox Code Playgroud)

触发器会为插入或更新的每一行触发,因此无需"查找"该行.


Rob*_*ijk 5

SQL是一种基于集合的语言.如果要更新多行,则不存在"上次更新行"的概念.

确保您的API插入UPPER(column_name)似乎是您想要的.

您还可以创建一个行前更新触发器:

:new.column_name := upper(:new.column_name);
Run Code Online (Sandbox Code Playgroud)

但是,这比在API中提供大写的column_name效率低.

问候,
Rob.