Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Insert in Firebirdtabelle wenn Datensatz nicht existiert (https://www.delphipraxis.net/174033-insert-firebirdtabelle-wenn-datensatz-nicht-existiert.html)

waldforest 29. Mär 2013 09:21

Datenbank: Firebird • Version: 2.1 • Zugriff über: ZEOS

Insert in Firebirdtabelle wenn Datensatz nicht existiert
 
Hallo,
ich möchte gerne Daten in eine Tabelle eintragen, welche noch nicht existieren.

Mit folgendem Statement habe ich versucht dies zu realisieren.

Sql.Add(' INSERT INTO VDATEN(ART, NAME, ORT VALUES (:ART, :NAME, :ORT) ');
Sql.Add(' WHERE NOT EXISTS( SELECT NAME FROM VIO WHERE VDATEN.ART =:ART and VDATEN.ORT =:ORT and VDATEN.NAME =:NAME;');
ExecSQL;

Ohne Where läufts sauber, leider funktioniert dies nicht, wenn ich über Exists prüfe. Ich habe aber keinen Ansatz woran es liegen könnte, bzw. wie ich die anders realisieren könnte.

Kann mir hier eine SQL-Spezialist einen Tipp geben.

Sir Rufo 29. Mär 2013 09:24

AW: Insert in Firebirdtabelle wenn Datensatz nicht existiert
 
Ja, laut Dokumentation (egal welche SQL Doku) ist bei INSERT kein WHERE erlaubt.

Evtl. suchst du ja das hier http://www.firebirdsql.org/refdocs/l...or-insert.html

waldforest 29. Mär 2013 09:36

AW: Insert in Firebirdtabelle wenn Datensatz nicht existiert
 
Hallo,
danke für den schnellen Hinweis, das ist die Lösung


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:01 Uhr.

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