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