Blog > Komentarze do wpisu
Oracle INSERT INTO... mała rzecz a cieszy

 

Nie pamiętam, kiedy ostatnio sprawdzałem składnie polecenia INSERT a chyba powinienem. Właśnie dowiedziałem się, że w Oraclu (być może i w innych bazach danych) do polecenia INSERT dodać można klauzulę RETURNING. Możemy w ten sposób odczytać natychmiast wstawione wartości, włączając w to wykorzystane numery sekwencji bądź wartości domyślne kolumn. Poniższy przykład pokazuje oba warianty...



create table test
(
   testno       number not null,
   timecreated  timestamp default systimestamp,
   foo          varchar2 (50)
);

create sequence testno_seq;

declare
   vn_testno        test.testno%type;
   vd_timecreated   test.timecreated%type;
begin
   insert into test (testno, foo)
        values (testno_seq.nextval, 'FOO')
     returning testno, timecreated
          into vn_testno, vd_timecreated;
   dbms_output.put_line('testno : ' || to_char(vn_testno) || ', timecreated: ' || to_char(vd_timecreated, 'DD-MON-YYYY HH24:MI:SSxFF'));
end;    

drop table test;
drop sequence testno_seq;



...na wyjściu wygląda to tak:

 

Oracle INSERT INTO... mała rzecz a cieszy

czwartek, 19 lipca 2012, m0rt1m3r

Related Posts Plugin for WordPress, Blogger...

Polecane wpisy





PowerBuilder Tetris
D - Tetris



Programowanie iOS

C# ToolBox

SQL / TSQL / PLSQL ToolBox

Linux / Unix ToolBox





Zaprzyjaznione Strony

Sprite Bandits

Cake Time