Exemplo de INSERT...RETURNING
- dr_gori
- Moderador
- Mensagens: 5024
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Sim! Veja esse exemplo:
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;
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 15 visitantes