Hallo.
Ich möchte per Insert-Statement einen Datensatz in eine beliebige Datenbank einfügen, brauche aber anschließend den tatsächlichen Datensatz, der eingefügt wurde zur weiteren Verarbeitung im Java-Programm.
Z.B. habe ich folgendes postgres-Statement:
Problem ist, dass ich gar nicht weiß, was für nextval() raus kommt.
Bietet Java irgendeine Möglichkeit den zu letzt eingefügten DS abzufragen, was aber auch für alle Datenbanken gültig ist?
Ich habe mir schon überlegt vor dem Einfügen, ein normales SQL zu stricken, welches die Einfügewerte und Funktionen enthält und das empfangene RecordSet dann anschließend mit INSERT einzufügen.
Also z.B:
Problem ist hier allerdings, dass ich hier eine allgemein mögliches SQL brauche, um diese Daten abzufragen.
In postgres reicht ja nur ein einfaches "SELECT" um Werte und Funktionen abzufragen.
DBs wie Oracle und Co. brauchen allerdings immer ein "FROM" im SQL-Statement.
Also müsste ich in Oracle z.B. "SELECT [...] FROM dual" schreiben.
Wie gesagt, brauche ich aber eine allgemeine Lösung, weil ich vorher nicht weiß, auf welche Datenbank zugegriffen wird. :-(
Ich greife übrigens auf jeden Fall auf folgende DBs zu:
- DBISAM (via ODBC)
- postgreSQL
Hat irgendjemand eine zündende Idee?
:bahnhof:
Ich möchte per Insert-Statement einen Datensatz in eine beliebige Datenbank einfügen, brauche aber anschließend den tatsächlichen Datensatz, der eingefügt wurde zur weiteren Verarbeitung im Java-Programm.
Z.B. habe ich folgendes postgres-Statement:
Code:
INSERT INTO XYZ(ColPK, Col1, Coln) VALUES(nextval('seq_abc'), 'ein text', 123)
Bietet Java irgendeine Möglichkeit den zu letzt eingefügten DS abzufragen, was aber auch für alle Datenbanken gültig ist?
Ich habe mir schon überlegt vor dem Einfügen, ein normales SQL zu stricken, welches die Einfügewerte und Funktionen enthält und das empfangene RecordSet dann anschließend mit INSERT einzufügen.
Also z.B:
Code:
SELECT nextval('seq_abc'), 'ein text', 123) [...]
In postgres reicht ja nur ein einfaches "SELECT" um Werte und Funktionen abzufragen.
DBs wie Oracle und Co. brauchen allerdings immer ein "FROM" im SQL-Statement.
Also müsste ich in Oracle z.B. "SELECT [...] FROM dual" schreiben.
Wie gesagt, brauche ich aber eine allgemeine Lösung, weil ich vorher nicht weiß, auf welche Datenbank zugegriffen wird. :-(
Ich greife übrigens auf jeden Fall auf folgende DBs zu:
- DBISAM (via ODBC)
- postgreSQL
Hat irgendjemand eine zündende Idee?
:bahnhof: