AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Interbase: Generierte ID ermitteln ?
Thema durchsuchen
Ansicht
Themen-Optionen

Interbase: Generierte ID ermitteln ?

Ein Thema von mschaefer · begonnen am 5. Apr 2003 · letzter Beitrag vom 16. Okt 2004
 
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.395 Beiträge
 
Delphi 10.4 Sydney
 
#10
  Alt 7. Apr 2003, 09:35
Zitat von Paul Jr.:
ganz einfach... falls zwei User gleichzeitig einen neuen Datensatz anlegen (in der gleichen Tabelle)... dann steht in dem Generator nicht mehr dieses Wert die man braucht...(bei langsamen Zugriffen ist das schnell passiert)...
Halt, halt, da haben wir aneinander vorbeigeschrieben, die Schuld nehme ich auf mich! In der 2. Lösung meinte ich nicht, dass NACH dem Einfügen der Generator-Stand abgefragt werden soll (da hätte ich dann ja eigentlich ein ",0" verwende müssen) sondern, der Wert der ID soll VOR dem Einfügen über ne normale Select abgefragt werden, per "Hand" dann in das InsertSQL eingefügt werden und fertig!

Natürlich sollte man niemals NACH dem Einfügen den Generatorstand abfragen und dann Rückschlüsse auf die vom Insert verwendete Generator-ID machen!!!!

Hier noch die Insert Proc mit Rückgabewert:
Code:
SET TERM ^ ;

CREATE PROCEDURE TestNeu1 (Wert1 VARCHAR(20))
RETURNS (NewID INTEGER)
AS
BEGIN
  FOR
    SELECT Gen_ID(Generatorname,1) from rdb$database into NewID
  do
  begin
    insert into Tabelle Values (:NewID, :Wert1);
    suspend;
  end
END^
Grüße
Lemmy
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz