Insert ID

Kluvanek Martin kluvanek na tesnet.cz
Pátek Červen 20 15:14:00 CEST 2003


Honza Pazdziora wrote:
> insert into test values (seq.nextval, 'jezek') returning rowid into rowidval;
> 
> Nicmene o trosicku cistsi mi prijde vracet takhle primo id:
> 
> insert into test values (seq.nextval, 'jezek') returning id into idval;
> 
> mimo jine proto, ze ho pak muzete pouzit pro dalsi inesrty nebo neco
> bez nutnosti extra selectu podle rowid.
Ano suhlasim.
Diky za tip, uz som to tak prerobil, vypada to v testovacom scripte asi 
takto:

declare id number(38);
begin
insert into ANA_ZAZNAM 
("ZAZNAM_ID","CAS"/*....atd.....*/,"POV_MAX_POSTHIST","EXPORT_VSE") values
("SEQ_ZAZNAM_ID".NEXTVAL,
to_timestamp('20.6.2003 12:00:00.000000',
'dd.mm.YYYY HH24:MI:SS.FF')/*
.........atd .....*/,600,'A') returning zaznam_id into id;
/* "SEQ_ZAZNAM_ID".NEXTVAL bude vo finalnej podobe zrusene a nahradene 
triggerom na insert ktory tam ten nextval strci sam */
/* potom nejaka dalsia cinnost */
INSERT INTO BLOB_ZAZNAM 
(ZAZNAM_ID,STATUS_ID,STATUS_KDY,TYP,DATA,ODKAZ,POZNAMKA) values
(idval,'P',to_date('20.5.2003 12:01:00',
'dd.mm.YYYY H24:MI:SS'), 'ANA', BFILENAME('MSE_ANALOGDATA', 
'1B\112hnqmp.tes') ,'1B\112hnqmp.tes', 'Poznamka XXXX',null,null);
end;


O vsetko podstatne sa stara Oracle (pouzitie sekvencie) a nie aplikacia 
zda sa mi to byt elegantne a systemove.

Este raz diky za radu, ani potom som to nikde na webe nenasiel popisane 
tak, aby to udrelo do oci. Ale uz netreba.

:-)


-- 
Martin Kluvanek
ved.odd. vyvoje (head of development department)
TES s.r.o
Testovani Energetickych Systemu (Testing of Energetical Systems)

Prazska 597
674 01 Trebic
Czech republic
tel:568 8384 28  (+420 5688384 28)
fax:568 8384 27  (+420 5688384 27)
homepage: http://www.tesnet.cz



Další informace o konferenci Test