Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Firebird - AutoInc-Wert nach Insert auslesen (https://www.delphipraxis.net/153032-firebird-autoinc-wert-nach-insert-auslesen.html)

scrat1979 18. Jul 2010 16:15

Datenbank: Firebird • Version: 2.x • Zugriff über: IBDAC

Firebird - AutoInc-Wert nach Insert auslesen
 
Hallo zusammen,

habe leider in der Suche sowie in der Doku nichts gefunden. Ich hoffe, die Lösung ist einfach :)

Ich füge mittels Query einer Tabelle einen Datensatz hinzu (mittels "INSERT INTO [...]"). Dabei gibt es den PK "id", welcher automatisch
per Trigger BeforeInsert durch die DB eingefügt wird. Gibt es nun mittels IBDAC eine Möglichkeit, diesen Wert direkt nach einem INSERT (z.B. mittels Output-Parameter) auszulesen? Ein Workaround z.B. mittels SELECT Max(id) finde ich "unsauber"...

DeddyH 18. Jul 2010 16:19

AW: Firebird - AutoInc-Wert nach Insert auslesen
 
http://www.delphipraxis.net/107318-f...returning.html

scrat1979 18. Jul 2010 16:23

AW: Firebird - AutoInc-Wert nach Insert auslesen
 
Auf RETURNING als Suchbegriff wäre ich nie gekommen :) Danke!!!

DeddyH 18. Jul 2010 16:29

AW: Firebird - AutoInc-Wert nach Insert auslesen
 
Klar, das muss man wissen, sonst sucht man sich den Wolf ;)

mkinzler 18. Jul 2010 18:53

AW: Firebird - AutoInc-Wert nach Insert auslesen
 
Oder man benutzt ( z.B. bei älteren FB Versionen) die Sequenz/Generatorunterstützung ger Komponenten

idefix2 18. Jul 2010 19:25

AW: Firebird - AutoInc-Wert nach Insert auslesen
 
Das lästige ist, dass die Firebird Dokumentation wirklich absolut katastrophal organisiert ist. Du musst erst die alte Intebase Doku hernehmen und dann die Release Notes der verschiedenen Firebird Versionen studieren, um auf den aktuellen Stand der Sprache zu kommen. Normalerweise müsste man das ja bei der Beschreibung des SELECT-Statements finden. Ist dort aber nicht, weil es das zu Interbase Zeiten noch nicht gegeben hat. In den Firebird 2.1.3 Release Notes ist dann ein Abschnitt "The RETURNING Clause" zu finden. Wenn man nicht weiss, dass sich der Abschnitt auf das SELECT Statement bezieht, hat man eigentlich keine Chance, ihn zu finden.

Wenn man zu irgend einer Sprachfeature etwas nachlesen will, auch wenn man sie im Prinzip kennt, muss man wissen, bei welcher Firebird Version sie eingeführt worden ist, weil sie nur in den entsprechenden Release Notes beschrieben ist.

AAAArghhh!

scrat1979 18. Jul 2010 21:08

AW: Firebird - AutoInc-Wert nach Insert auslesen
 
Zitat:

Zitat von mkinzler (Beitrag 1036006)
Oder man benutzt ( z.B. bei älteren FB Versionen) die Sequenz/Generatorunterstützung ger Komponenten

Da hab ich in den Properties was gesehen und etwas (vergebens) herumgespielt. Werde ich mir aber nochmal anschauen!

fkerber 18. Jul 2010 21:13

AW: Firebird - AutoInc-Wert nach Insert auslesen
 
Hi!

Siehe dazu auch hier:
http://firebirdsql.org/manual/de/gen...sqlsyntax.html


Grüße,
Frederic


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:40 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz