Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Update or Insert (https://www.delphipraxis.net/173299-update-insert.html)

stahli 15. Feb 2013 22:40

Datenbank: Firebird • Version: 2.5 • Zugriff über: IBX

Update or Insert
 
Ich erzeuge dynamisch eine FB-Datenbank (Dialect 3).

Scrip:
Code:
SET SQL DIALECT 3;


CREATE DATABASE '[FILENAME]'
  USER 'SYSDBA'
  PASSWORD 'masterkey'
  PAGE_SIZE 4096;
...
SQL:
Code:
update or insert into Friends (Id, FirstName, LastName)
values (:Id, :FirstName, :LastName)
matching (Id)
Fehler:
Zitat:

Dynamic SQL Error
SQL error code = -104
Token unknown - line 1, char 7
or.
Wieso funktioniert "or update" nicht? Geht das nicht unter IBX?


(PS: IBX nutze ich vorerst für DB-Versuche.)

RWarnecke 16. Feb 2013 07:11

AW: Update or Insert
 
Ich nutze IBX schon seit langen nicht mehr. Aber irgendwie beschleicht mich das Gefühl, das IBX den Befehl nicht versteht oder nicht kennt. Der Befehl wurde erst ab Firebird 2.1 hinzugefügt. Siehe hier.

EgonHugeist 16. Feb 2013 08:18

AW: Update or Insert
 
Hast du das Statement mal mit FlameRobin ausgeführt? Ich kann keinen Fehler finden und würde mich daher Rolf's Meinung anschließen.. Mit Zeos funzt es, wie gewünscht.

stahli 16. Feb 2013 11:51

AW: Update or Insert
 
Danke Euch.
Ich habe es jetzt erst mal klassich gelöst. Für Optimierungen ist später noch Zeit.
Es wird ja "dann" ;-) vermutlich auch mal auf AnyDAC hinaus laufen...

EgonHugeist 16. Feb 2013 11:59

AW: Update or Insert
 
Alternativ zu "update or insert" könntest du mal "MERGE" probieren: http://www.delphipraxis.net/173289-u...procedure.html

Zeos kommt wohl nicht mehr in Frage, Stahli?

RWarnecke 16. Feb 2013 12:36

AW: Update or Insert
 
Zitat:

Zitat von stahli (Beitrag 1203819)
Es wird ja "dann" ;-) vermutlich auch mal auf AnyDAC hinaus laufen...

Warum AnyDAC gerade AnyDAC ? Wo die Zukunft doch etwas ungewiss ist.

Link 1
Link 2

Ich würde da eher auf Alternativen zurückgreifen DevArt, Zeos etc.

stahli 16. Feb 2013 12:59

AW: Update or Insert
 
Ich baue gerade an einem kleinen ORM.
Insofern ist die detaillierte Umsetzung der Funktionen ohnehin austauschbar.

Bezüglich Alternative zu IBX will ich mal abwarten, wie sich das mit dem AnyDAC enbtwickelt...
Im Moment reichen mir die grundlegenden Funktionen für die ersten Tests.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:48 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