Einzelnen Beitrag anzeigen

mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#31

AW: SQL Automatisch zugeteilte Id ermitteln.

  Alt 14. Jul 2014, 12:59

Code:
INSERT INTO table(f1, f2) VALUES(<Schlüsselwert>, 'Blabla');
SELECT <autoincrementfield> FROM table WHERE f1=<Schlüsselwert>
Das dürfte innerhalb einer Transaktion in jedem DBMS funktionieren
Was ist an Stele von <autoincrementfield> denn einzusetzen, das auf jedem DBMS funktioniert?

Code:
SELECT <autoincrementfield> FROM table WHERE f1=<Schlüsselwert>
Wenn das Feld "table.f1" das Primary Key Feld ist, ergibt sich das Problem, dass man den Autonkrementwert nicht kennt, und daher logischerweise auch kein

Code:
SELECT f1 FROM table WHERE f1=<Schlüsselwert>
durchführen kann. Denn <Schlüsselwert> ist bei Autoinkrement-Feldern nicht bekannt (wenn der Wert über einen BEFORE INSERT Trigger unter Verwendung eines Firebird-Generators erzeugt wurde, hat der Client nach Ausführung des INSERT keinen Zugriff auf den soeben erzeugten <Schlüsselwert>).
Michael Justin
  Mit Zitat antworten Zitat