-
SQL INSERT if not exist then update
Hallo!
Wie kann ich auf der DB2 ein "Insert if not exist then update" Statement absetzen?
Gibt es sowas?
In MYSQL gibt es das ON DUPLICATE KEY oder REPLACE Statement.
MERGE kann ich leider nicht verwenden, da ich nicht die neueste DB2 Version habe.
Ich muss ein Feld überprüfen und wenn dies existiert, dann den kompletten Satz updaten ansonsten einen neuen Satz schreiben.
Bitte um Hilfe!
Danke!
Grüsse
chrisonline
-
In der DB2 gibt es kein solches Statement, d.h. Du musst schon mehrere Statements ausführen.
Am einfachsten ist, Du versuchst einen Update. Wurde keine Zeile aktualisiert (kann im embedded SQL über SQLER3 oder über GET DIAGNOSTICS-Statement geprüft werden), den Insert ausführen.
Du kannst natürlich auch zunächst über ein Select-Befehl prüfen ob das Feld bzw. der Inhalt vorhanden ist und je nach dem entweder einen Update oder Insert ausführen.
Übrigens arbeitest Du überhaupt auf der iSeries?
MERGE existiert auch in der 6.1 Version nicht!
Birgitta
-
Oh habe gerade gesehen dass das MERGE Statement auf der DB2 für Linux, Unix und Windows ist und nicht für die iSeries!
Vielen Dank für deinen Beitrag, dann werde ich es wohl mit 2 Statements machen müssen.
Finde ich jedoch schwach dass es sowas nicht gibt für die DB2 auf der iSeries... IBM erhält somit von mir eine Rüge ;-)
Grüsse
Christian
-
Moin zusammen,
ich wärme dieses Thema mal auf ....
in der Hoffnung das es mittlerweile was gibt.
Create or Replace als Befehl, um die Datei zu erstellen gibt es ja auch (hab's noch nicht gemacht)
Gruß
Robi
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
... man kann sich natürlich den MERGE zurecht biegen, indem man sich eine "Tabelle" mit einem Satz im SQL Statement virtuell erzeugt, aber ob das was besser macht als die zwei Statements ist Geschmacksache. Mein Geschmack ist jedenfalls: einfache Konstrukte bevorzugen...
D*B
-
Ja, die 'Hand am Arm' Methode ist schon klar.
aber bei rd. 50 Dateien mit bis zu 30 !!!! Keyfeldern ist das mühsam.
Und da es manchmal etwas dauert, bis sinnvolle Änderungen im SQL bei mir ankommen hoffte, das es hier was neues gibt.
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Seit V4R5 gibt es mein Tool SQLCPY, mit dem man genau so was machen kann (neben vielen anderen Dingen).
-
Zitat von Robi
Ja, die 'Hand am Arm' Methode ist schon klar.
aber bei rd. 50 Dateien mit bis zu 30 !!!! Keyfeldern ist das mühsam.
Und da es manchmal etwas dauert, bis sinnvolle Änderungen im SQL bei mir ankommen hoffte, das es hier was neues gibt.
... bei einem compound Primary key mit 30 Feldern könnte das Problem auch woanders liegen und bei Dateien mit mehreren unique Bedingungen wäre ich mit insert on duplicate key sehr vorsichtig - das wird dann schnell komplex: sieh dir mal die entsprechenden Diskussionen in MySQL und PostgreSQL (upsert) mal an.
Im übrigen könnte man sich da auch noch stored procedures basteln (Default handling kann man generieren und Sonderlocken dann einbauen)
D*B
-
Das klingt sehr gut und schön!
samsung note 4 handyhülle
-
Ein Merge funzt doch auf der schwarzen Kiste .......
-
Wie Birgitta schon schrieb, erst ab V7R1 verfügbar.
Aber wer arbeitet denn noch mit alten Betriebssystemen, wo es ab heute doch Windows 10 für alle Plattformen gibt (wieso dann nicht für die AS/400, iSeries, i5, System i?)!
Similar Threads
-
By mk in forum NEWSboard Programmierung
Antworten: 13
Letzter Beitrag: 13-07-12, 08:53
-
By Robi in forum IBM i Hauptforum
Antworten: 20
Letzter Beitrag: 16-03-09, 10:32
-
By wuwu in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 18-07-06, 15:31
-
By woki in forum NEWSboard Java
Antworten: 3
Letzter Beitrag: 06-06-06, 15:57
-
By loeweadolf in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 01-06-06, 09:43
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks