Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   If-In SQL- aber wie? (https://www.delphipraxis.net/146527-if-sql-aber-wie.html)

alex517 21. Jan 2010 21:08

Re: If-In SQL- aber wie?
 
Hi,

Zitat:

Zitat von Teekeks
Ich möchte per sql-Statement folgendes machen:
Code:
wenn Datensatz mit dem gesuchten Datum vorhanden dann:
  Daten des Gefundenen Datensatzes Ändern
ansonsten:
  neuen Datensatz anlegen

sieh dir mal dazu

das UPDATE OR INSERT-Statement
SQL-Code:
UPDATE OR INSERT INTO <table or view> [(<column_list>)]
VALUES (<value_list>)
[MATCHING <column_list>]
[RETURNING <column_list> [INTO <variable_list>]]
oder wenn das nicht reicht,

das MERGE-Statement
SQL-Code:
<merge statement> ::=
      MERGE
         INTO <table or view> [ [AS] <correlation name> ]
         USING <table or view or derived table> [ [AS] <correlation name> ]
         ON <condition>
         [ <merge when matched> ]
         [ <merge when not matched> ]

   <merge when matched> ::=
      WHEN MATCHED THEN
         UPDATE SET <assignment list>

   <merge when not matched> ::=
      WHEN NOT MATCHED THEN
         INSERT [ <left paren> <column list> <right paren> ]
            VALUES <left paren> <value list> <right paren>
an.

Voraussetztung Firebird 2.1.

alex

Teekeks 21. Jan 2010 21:34

Re: If-In SQL- aber wie?
 
Hi Danke für eure Hilfe!
Auch an dich Alex (sieht ja spannend aus :) )!
Aber ich hab das ganze jetzt Quick & Dirty gelöst:
Die Logik über Lazarus, und nur einfache SELECTs und UPDATEs und so.
Ganz simpel :D
Auch wenn ich mich vermutlich noch mit dem anderen beschäftigen werde...
Nur das hier muss bis übermorgen fertig werden...

Gruß Teekeks

hoika 22. Jan 2010 05:44

Re: If-In SQL- aber wie?
 
Hallo,

zu #8: der Code in der #7 ist keine SQL-Abfrage, sondern eine Stored Procedure.


Heiko

alex517 22. Jan 2010 07:14

Re: If-In SQL- aber wie?
 
Zitat:

Zitat von Teekeks
Aber ich hab das ganze jetzt Quick & Dirty gelöst:
Die Logik über Lazarus, und nur einfache SELECTs und UPDATEs und so.
Ganz simpel :D


Ganz simpel also,

so wie das? :mrgreen:

SQL-Code:
UPDATE OR INSERT INTO Arbeitszeiten (DATUM, B1, E1, B2, E2, B3, E3, B4, E4, B5, E5)
    VALUES (:DATUM, :B1, :E1, :B2, :E2, :B3, :E3, :B4, :E4, :B5, :E5)
 MATCHING (DATUM);
alex

Teekeks 22. Jan 2010 07:22

Re: If-In SQL- aber wie?
 
WTF!
Nein, ich wusste ja nicht dass das so einfach geht...

Aber ich las das erstmal so wie ich es jetzt habe :)

mkinzler 22. Jan 2010 07:26

Re: If-In SQL- aber wie?
 
Zitat:

Aber ich las das erstmal so wie ich es jetzt habe Smile
Also Bevorzugung der komplizierten, langsamen und fehleranfälligen Variante :gruebel: :zwinker:

rwachtel 22. Jan 2010 08:35

Re: If-In SQL- aber wie?
 
Zitat:

Zitat von Teekeks
WTF!
Nein, ich wusste ja nicht dass das so einfach geht... [...]

Aber genau das stand in dem genannten Link... ;)

QuickAndDirty 22. Jan 2010 08:50

Re: If-In SQL- aber wie?
 
Was wieder beweist das es nicht so gut ist links zu posten,...

rwachtel 22. Jan 2010 11:11

Re: If-In SQL- aber wie?
 
Zitat:

Zitat von QuickAndDirty
Was wieder beweist das es nicht so gut ist links zu posten,...

Wieso das denn? Wenn man sich Abhandlungen nicht komplett durchliest, ist es vollkommen egal, wo diese stehen.

Einzig und alleine die Tatsache, dass Links durchaus eine gewisse Flüchtigkeit aufweisen, mag ich gelten lassen - ich persönlich empfinde allerdings den Nachteil der sowieso schon unüberschaubaren Redundanz an Informationen wesentlich schwerwiegender.

Teekeks 22. Jan 2010 15:47

Re: If-In SQL- aber wie?
 
Das größte Problem an dem ganzen war das einfach gesagt meine Englisch-Kenntnisse schlecht sind...
Ich habe mir schon die ganze Seite durchgelesen, habe aber anscheinend nicht verstanden worauf der da hinaus wollte... :)

Gruß Teekeks :cat:


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:42 Uhr.
Seite 2 von 2     12   

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