Exemplo de INSERT...RETURNING

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
  

Mensagemem Qua, 15 Dez 2004 5:34 pm

Alguém aí tem um exemplo de INSERT RETURNING???
tfg
Localização: Novo Hamburgo - RS

Mensagemem Qua, 15 Dez 2004 5:38 pm

Sim! Veja esse exemplo:

Código: Selecionar todos
set feedback off
set serveroutput on

-------------------------------------------------------------
--Criamos uma tabela que tera a chave auto-incrementada.
-------------------------------------------------------------
create table auto_increment (
  id                number not null constraint pk_ai primary key,
  something         number
);

-------------------------------------------------------------
--Criamos uma sequence que vai alimentar a chave.
-------------------------------------------------------------
create sequence seq_auto_increment start with 1 increment by 1;

-------------------------------------------------------------
--Criamos a trigger que vai colocar a seq na chave.
-------------------------------------------------------------
create or replace trigger ai
  before insert on auto_increment
  for each row
  begin
    if :new.id is null then
      select seq_auto_increment.nextval into :new.id from dual;
    end if;
  end;
/



declare
  i number;
begin

  -------------------------------------------------------------
  --aqui vai a manha... Ele retorna o código gerado da sequence!!!
  -------------------------------------------------------------
  insert into auto_increment (something) values (9) returning id into i;
  dbms_output.put_line('id was: '||i);

  insert into auto_increment (something) values (8) returning id into i;
  dbms_output.put_line('id was: '||i);

  insert into auto_increment (something) values (4) returning id into i;
  dbms_output.put_line('id was: '||i);

  insert into auto_increment (something) values (5) returning id into i;
  dbms_output.put_line('id was: '||i);
end;
/

--drop table auto_increment;
--drop sequence seq_auto_increment;
dr_gori
Localização: Portland, OR USA

Thomas F. G

Você já respondeu a dúvida de alguém hoje?
http://glufke.net/oracle/search.php?search_id=unanswered


  • Veja também
    Respostas
    ExibiÇões
    Última mensagem


Voltar para SQL

Quem está online

Usuários navegando neste fórum: Google [Bot] e 5 visitantes