-
 Zitat von Pikachu
Funktioniert denn das?
update tabelle set spalte =
case 1 when 1 then NULL else NULL end
Wird abgeblockt mit "Mindestens ein Ergebnis in CASE-Ausdruck darf nicht NULL sein".
-
 Zitat von andreaspr@aon.at
Ich habe jetzt dein Beispiel in ein SQLRPGLE-Code gepackt, eine entsprechende Tabelle erstellt und befüllt und mal getest.
Das Programm macht das was erwartet wird.
Code:
/Free
Exec Sql SET OPTION COMMIT=*NONE, CLOSQLCSR=*ENDMOD,
ALWBLK=*ALLREAD, ALWCPYDTA=*YES,
SRTSEQ=*HEX, DLYPRP=*YES;
exec sql update pranlib/t1
set such = case 1 when 1 then NULL else 'xxx' end
where nr = 2000;
*inlr = *on;
return;
/End-Free
V6R1
Können wir die Maschinen tauschen? 
Was passiert, wenn Du das sql-statement interaktiv ausführst?
-
 Zitat von Allrounder
Können wir die Maschinen tauschen? 
Derzeit wohl eher nicht 
 Zitat von Allrounder
Was passiert, wenn Du das sql-statement interaktiv ausführst
Das gleiche Ergebnis.
-
Versuch mal folgendes:
Code:
/Free
Exec SQL
update tabelle
set spalte = NULLIF(:hostvar, '');
oder
Code:
D HostVarInd S 5I 0
/Free
If HostVar <= ' ';
HostVarInd = -1;
Else;
HostVarInd = *Zeros;
EndIf;
Exec SQL Update Table
Set Spalte = :HostVar :HostVarInd;
/End-Free
Birgitta
-
Dann würde ich mal doch eine Fehlermeldung an IBM abgeben.
Ggf. vorher noch PTF's prüfen und ggf. einspielen oder mal das Problem mit einer anderen, neu erstellten Tabelle ausprobieren.
PS:
Das mit dem NULL-Anzeiger wurde ja abgelehnt .
-
 Zitat von B.Hauser
Versuch mal folgendes:
Code:
/Free
Exec SQL
update tabelle
set spalte = NULLIF(:hostvar, '');
Das war einer meiner ersten Versuche. Hab's trotzdem noch einmal versucht, aber leider das gleiche Ergebnis.
 Zitat von B.Hauser
Code:
D HostVarInd S 5I 0
/Free
If HostVar <= ' ';
HostVarInd = -1;
Else;
HostVarInd = *Zeros;
EndIf;
Exec SQL Update Table
Set Spalte = :HostVar :HostVarInd;
/End-Free
Auch das hat leider nicht funktioniert. Gleicher Effekt: Keine Meldung im Joblog, sqlcod 0, sqlstate 0, update erfolgreich, aber eben kein NULL in der Spalte 
Wir haben auch etliche Serviceprogramme mit der gleichen Technik: ein update mit NULL innerhalb einer case-Anweisung in embedded sql, ohne NULL-Anzeiger. Da funktioniert es.
Ein Unterschied zu der aktuellen Tabelle können wir nicht feststellen.
Der Fehler tritt übrigens auf zwei unterschiedlichen i5 auf.
Wir (meine Kollegen und ich) sind jetzt mit unserem Latein am Ende und haben uns für zwei update-anweisungen in einer if/else-block entschieden, eine schreibt NULL direkt, die andere schreibt die Hostvariable.
Nicht schön, aber selten 
Danke an alle für die Antworten!
@Fuerchau: Wir hätten sogar die NULL-Anzeiger eingebaut. ^^
-
Welches Release habt ihr denn?
-
Das ist auf jeden Fall eine Meldung an IBM wert.
-
 Zitat von andreaspr@aon.at
Welches Release habt ihr denn?
V6R1
... und jetzt noch etwas Text, damit ich die 20 Zeichen Minimum erreiche.
-
Wie gesagt, eine Meldung an IBM wäre empfehlenswert.
Mein Kunde hat jetzt auch nach ca. 6 Wochen ein PTF für V6R1 bekommen, da eine Sortierung auf ein Ergebnisfeld einer CTE ignoriert wurde.
Jetzt funktionierts endlich.
Soweit ich mitbekommen habe gibts die CQE ab V6R1 ja nicht mehr.
-
 Zitat von Fuerchau
Soweit ich mitbekommen habe gibts die CQE ab V6R1 ja nicht mehr.
Erst ab 7.1.
... und jetzt auch noch etwas mehr Text zum Posten
-
Similar Threads
-
By Tobse77 in forum NEWSboard Programmierung
Antworten: 12
Letzter Beitrag: 24-09-09, 08:31
-
By Ewald in forum NEWSboard Programmierung
Antworten: 0
Letzter Beitrag: 25-01-07, 07:52
-
By Flo4711 in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 29-09-06, 17:31
-
By deni87991 in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 04-08-06, 10:32
-
By klausgkv in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 08-06-06, 13:47
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