Letzte ID ermitteln
- Dieses Thema hat 4 Antworten und 1 Teilnehmer, und wurde zuletzt aktualisiert vor 17 Jahren, 5 Monaten von
Anonym.
-
AuthorPosts
-
22. Juni 2006 um 8:10 Uhr #2695
AnonymGastHi ihr,
ich habe in einer Tabelle eine Spalte die automatisch eine ID vergibt (generated by default as identity (start with 1)).
Nun füge ich in diese Tabelle einen Datensatz ein und würde gerne per SQL Abfragen welche ID dieser Datensatz bekommen hat!
Unter Oracle fragt man die Sequence ab und wie geht das unter DB2?Gruß Cooli
22. Juni 2006 um 8:59 Uhr #3096
AnonymInaktivHi Cooli,
mit Funktion IDENTITY_VAL_LOCAL()!
MfG
AxelP
22. Juni 2006 um 9:12 Uhr #3382
AnonymGastAber wie kann ich das von der Tabelle abhängig machen?
Wenn zwei Insert-Statements auf zwei unterschiedliche Tabellen gemacht wurden dann entscheidet der Zufall bzw. die Reihenfolge welche ID ich zurückbekomme?Cooli
22. Juni 2006 um 12:09 Uhr #3558
AnonymInaktivHier ist die aktuelle Doku zu DB2 zu finden:
<a href="http://publib.boulder.ibm.com/infocenter/db2luw/v8//index.jsp
„>http://publib.boulder.ibm.com/infocenter/db2luw/v8//index.jspDort ist die Funktion ausführlich beschrieben:
"The IDENTITY_VAL_LOCAL function is a non-deterministic function that returns the most recently assigned value for an identity column, where the assignment occurred as a result of a single row INSERT statement using a VALUES clause. The function has no input parameters. …
The value returned by the function is the value assigned to the identity column of the table identified in the most recent single row INSERT statement."Also, am einfachsten direkt nach dem Insert den vergebenen Wert abfragen und dann den nächsten Insert machen.
MfG
AxelP
23. Juni 2006 um 13:16 Uhr #3683
AnonymGastAber bei einer Web-Anwendung kann ich nicht sicherstellen das nicht noch ein Insert parallel abgesetzt wird!
Dann werde ich wohl doch die Sequence benutzen müssen?!Cooli
-
AuthorPosts
You must be logged in to reply to this topic.