![]() |
Re: nach commit ist alles weg
Eine IP muss ja eindeutig sein. Ein Insert funktioniert deshalb nur, wenn die angegebene ID nicht schon vorhanden ist.
![]() ![]() |
Re: nach commit ist alles weg
also ich hab mal versucht einen TRIGGER eizusetzen (über ein script erstellt) aber ich bekomme einen Fehler: Expected end of statement, encountered EOF
was ist falsch?
SQL-Code:
SET NAMES ISO8859_1;
create database 'D:\Platte-E\Projekte\fire\Daten\daten.fdb' user 'SYSDBA' password 'masterkey' page_size 4096 default character set iso8859_1; CREATE DOMAIN "TSTR25" AS VARCHAR(25) COLLATE DE_DE; CREATE DOMAIN "TSTR50" AS VARCHAR(30) COLLATE DE_DE; CREATE DOMAIN "TMEMO" AS VARCHAR(2000) COLLATE DE_DE; CREATE TABLE "KUNDEN" ( ID INTEGER NOT NULL, anrede TSTR25, vorname TSTR50, name TSTR50, land TSTR50, plz TSTR25, ort TSTR50, strasse TSTR50, tel TSTR50, fax TSTR50, mail TSTR50, knr TSTR25 ); SET TERM ^ ; CREATE TRIGGER trgTKUNDEN_BI_V3 for TKUNDEN active before insert position 0 as begin if ((new.id is null) or (new.id = 0)) then begin new.id = gen_id( gidKUNDEN, 1 ); end end |
Re: nach commit ist alles weg
SQL-Code:
SET NAMES ISO8859_1;
create database 'D:\Platte-E\Projekte\fire\Daten\daten.fdb' user 'SYSDBA' password 'masterkey' page_size 4096 default character set iso8859_1; CREATE DOMAIN "TSTR25" AS VARCHAR(25) COLLATE DE_DE; CREATE DOMAIN "TSTR50" AS VARCHAR(30) COLLATE DE_DE; CREATE DOMAIN "TMEMO" AS VARCHAR(2000) COLLATE DE_DE; CREATE TABLE "KUNDEN" ( ID INTEGER NOT NULL, anrede TSTR25, vorname TSTR50, name TSTR50, land TSTR50, plz TSTR25, ort TSTR50, strasse TSTR50, tel TSTR50, fax TSTR50, mail TSTR50, knr TSTR25 ); SET TERM ^ ; CREATE TRIGGER trgTKUNDEN_BI_V3 for TKUNDEN active before insert position 0 as begin if ((new.id is null) or (new.id = 0)) then begin new.id = gen_id( gidKUNDEN, 1 ); end end ^ SET TERM ; ^ |
Re: nach commit ist alles weg
Wie muß den jetzt mein IBDataSet.InsertSQL aussehen?
Ich habe jetzt schon Menge hin und her getestet aber mein ID Feld wird nicht automatisch eingefügt. |
Re: nach commit ist alles weg
ID einfach weglassen, sowohl in der Feldliste, wie auch bein den Values
|
Re: nach commit ist alles weg
Liste der Anhänge anzeigen (Anzahl: 1)
Ich weiß nicht was ich falsch mache? Ich habe schon mit DBASE und MySQL gearbeitet sowohl mit Delphi als auch ohne, aber hier weiß ich nicht weiter. Ich weiß nicht wo der (oder die) Fehler liegen. Es kann nicht nur ein Fehler sein. Ich habe noch mal mein Test-Projekt angehängt. Ich hoffe es hat jemand Zeit sich das mal anzusehen.
|
Re: nach commit ist alles weg
Ich hab's: es war die Groß- und Kleinschreibung.
Hat jemand ne Ahnung wie man die zuletzt eingefügte ID bekommt? den LAST_INSERT_ID() geht ja nicht. |
Re: nach commit ist alles weg
Zitat:
RETURNING zurückgeben
SQL-Code:
insert into ... values (...) returning <PK>;
|
Re: nach commit ist alles weg
Zitat:
|
Re: nach commit ist alles weg
Zitat:
oder statt Trigger die Sequenz clientseitig zu holen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:09 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