Cláusula RETURNING com funções somatórias
09/01/2009
Oracle 10g agora permite o uso de funções somatórias na cláusula RETURNING. O seguinte exemplo faz um UPDATE no salário de todos empregados e retorna a média salarial resultante para as linhas afetadas.
SQL> VARIABLE a NUMBER
SQL> UPDATE employee
2 SET sal=sal*1.10 RETURNING AVG(sal) INTO :a;
SQL> PRINT a
a
--------
655.22
O mesmo exemplo acima mostrado dentro de um bloco PL/SQL:
Declare
a number;
begin
update employee set sal=sal*1.10 returning avg(sal) into a;
dbms_output.put_line(a);
end;
Lembre-se que essa média é apenas das linhas afetadas pelo UPDATE!
Também é possível utilizar em comandos DELETE:
Declare
a number;
begin
delete from employee where sal > 1000 returning avg(sal) into a;
dbms_output.put_line(a);
end;
Tags: Oracle 10g, SQL
