![]() |
Re: Anweundung mit MySQL Online/Offline
Zitat:
<PK> = ID? Dann mit dem Trigger? Muß ich die SQL Befehle für den Trigger Immer vorher machen oder "merk" sich das die Datenbank, wenn ich den einmal erzeugt habe? Frank :coder: |
Re: Anweundung mit MySQL Online/Offline
Zitat:
Zitat:
Zitat:
|
Re: Anweundung mit MySQL Online/Offline
bei fb2 hat sich mit Autoinc einiges getan, insbesondere durch returning
hier mal kurz zitiert von ![]() Gruß Holger ![]() see you in paderborn :-) ------------------------------------------- Autoincrement Felder in Firebird In Datenbank-Tabellen ist regelmäßig ein eindeutiger Wert in einer Spalte (Primary Key) gewünscht. In einigen Datenbanken gibt es dazu ein Felddatentyp AutoInc oder ähnlich. Firebird und der SQL-Standard sehen zu Generatoren bzw Sequenzen vor. Hier die nötigen Schritte in Firebird bis Version 1.5 (wird in neueren Versionen vmtl. auch funktionieren) -- Generator mit Namen GEN_XYZ anlegen CREATE GENERATOR GEN_XYZ; -- Wert des Generators setzen -- ACHTUNG: Nur zum Initialisieren! SET GENERATOR GEN_XYZ TO 5; -- Generator-Wert erhöhen um 1 und auslesen select gen_id(GEN_XYZ,1) from RDB$DATABASE; -- INSERT in Tabelle TBL_XYZ mit eindeutigem Generator-Wert in der Spalte "Id" INSERT INTO TBL_XYZ ("Id") VALUES (gen_id(GEN_XYZ,1)); Der zweite Parameter der Funktion GEN_ID kann einen bel. Wert annehmen. Insbesondere kann man mit 0 einen Generator-Wert auslesen, ohne ihn zu verändern und mit -1 auch vermindern. Ab Firebird 2.0 kann man das Problem noch eleganter lösen: -- INSERT in Tabelle TBL_XYZ mit eindeutigem Generator-Wert in der Spalte "Id" INSERT INTO TBL_XYZ ("Name") VALUES ('bla') RETURNING "Id"; Bei RETURNING können mehere Feldnamen der Tabelle angegeben werden, in die ein Datensatz eingefügt wurde. Die Felder müssen nicht über INSERT eingefügt werden, sondern können z.B. auch aus DEFAULT-Werten oder Ergebnissen von TRIGGERN stammen. ------------------------------------------- |
Re: Anweundung mit MySQL Online/Offline
|
Re: Anweundung mit MySQL Online/Offline
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:13 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