Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Insert Befehl , Rückgabe ID Wert (https://www.delphipraxis.net/65753-insert-befehl-rueckgabe-id-wert.html)

mbamler 21. Mär 2006 10:32

Re: Insert Befehl , Rückgabe ID Wert
 
Zitat:

Zitat von marabu
Hallo Matthias,

wie meinst du das?

Zitat:

Wenn die Anweisung einen oder mehrere Trigger auslöst, die Einfügevorgänge zum Generieren von Identitätswerten durchführen, wird durch das Aufrufen von @@IDENTITY sofort nach der Anweisung der letzte von den Triggern generierte Identitätswert zurückgegeben.
marabu

Im Grundgenommen funktioniert es schon - man muss nur aufpassen
in @@IDENTITY steht immer die letzte generierte ID

Wenn man also eine Tabelle hat, in die man was reinschreibt und von der man die vergebene ID bekommen möchte, darf kein Trigger auf dieser Tabelle liegen, der selbst wieder eine ID erzeugt....

Gruß
Matthias

alzaimar 21. Mär 2006 14:47

Re: Insert Befehl , Rückgabe ID Wert
 
Oder:
Zwei Programme A und B, beide führen folgende Aktion aus:
Delphi-Quellcode:
qySQL.SQL.Text := 'Insert into Foo (Bar) values (''Foobar'')';
qySQL.ExecSQL;
qySQL.SQL.Text := 'Select @@Identity';
qySQL.Active := True;
MyID := qySQL.Fields[0].AsInteger;
Hier ist eben dann nicht gewährleistet, wer welche ID zugewiesen bekommt. Deshalb die Transaktion, oder genauer gesagt: ein Batch (zusammenhängender SQL-Code).

renekr 21. Mär 2006 17:20

Re: Insert Befehl , Rückgabe ID Wert
 
Hi,
vielen Dank für euren Bemühungen.
Habe es nach der Letzten Idee gemacht und es ging sofort.



vielen Dank.

cu


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:41 Uhr.
Seite 2 von 2     12   

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