Mailinglisten-Archive |
>3. wie kann ich mysql_insert_id auf oracle anwenden, wenn ich dort zum >emulieren des auto_increment eine sequence verwende ? Man muß eine Sequence verwenden: CREATE SEQUENCE "WWW".Seq1 START WITH 1 INCREMENT BY 1 NOMAXVALUE NOCYCLE; PS: Solche Sequencen sind jedoch besser als auto_increment. Denn man kann eine Sequence auch für zwei Tabellen verwenden, also wenn zwei Tabeleen z.B. quasi einein Unique-Constraint haben wie z.B. PK. Ich weiß nicht wie mysql_insert_id funktioniert, aber folgendes funktioniert in Oracle: INSERT INTO tab (pk_field, field2) VALUES (Seq1.NEXTVAL,'value2'); oder in einer PL/SQL function: CREATE FUNCTION "WWW".AddNewPatient RETURN NUMBER IS lf_sysid NUMBER(18,0); BEGIN SELECT PatientsSysidSeq.NEXTVAL INTO lf_sysid FROM dual; INSERT INTO patients (sysid) VALUES (lf_sysid); COMMIT; RETURN(lf_sysid); END AddNewPatient; / Florian Clever **************************************************************************** Clever Software Solutions Phone: ++49 (0)761 7070268 / Fax: ++49 (0)761 23565 Email: clever_(at)_aracnet.com / Internet: http://www.aracnet.com/~clever Zasiusstr. 45 / D-79102 Freiburg / Germany ****************************************************************************
php::bar PHP Wiki - Listenarchive