Anmelden

View Full Version : SQL-Precompiler Fehler gefunden ?



Seiten : 1 [2]

BenderD
20-03-20, 12:16
... CTE reicht auch schon:

with d as (select max(PLDAT) maxpldat, sum(PLMENG) sumplmeng
from D060
group by (PLBBNR, PLABNR, PLPONR))
select maxpldat, sumplmeng
from d
where ....

und dann kommt sqlcode 100 statt eines Satzes mit Nullvalues.

D*B

BenderD
20-03-20, 12:17
Dann könnte das mit
select * from (select max....)
klappen.

... der casus knaxus ist, dass die where clause in den äußeren select wandert.

Fuerchau
20-03-20, 12:38
Wieso? Ich kodiere den doch innerhalb?
Aber was solls, da alles nichts hilft!

Der wesentliche Unterschied ist
a) select .... into ....
b) open, fetch, close

In der Variante a) benötige ich Null-Inds oder einen "set ... coalesce(....)" oder "Values((coalesce()) into".
In der Variante b) kommt SQLCODE = 100.

BenderD
20-03-20, 12:50
Wieso? Ich kodiere den doch innerhalb?
Aber was solls, da alles nichts hilft!

Der wesentliche Unterschied ist
a) select .... into ....
b) open, fetch, close

In der Variante a) benötige ich Null-Inds oder einen "set ... coalesce(....)" oder "Values((coalesce()) into".
In der Variante b) kommt SQLCODE = 100.

... steh mal kurz auf, Du sitzt auf der Leitung:

exec sql select maxPLDAT, sum(PLMENG) sumplmeng
into :Wareneingangsdatum
,:Wareneingangsmenge
from (
select max(pldat) maxpldat, sum(plmeng) sumplmeng
from D060
group by (PLBBNR, PLABNR, PLPONR)
) P
where PLBBNR = :D242.BBNR
and PLABNR = :D242.BBABNR
and PLPONR = :D242.BBPONR ;

Cefix, irgendwie verhunzt er mir die Variablennamen in der where clause!

Fuerchau
20-03-20, 12:57
Ich hätte den Where trotzdem in den Subselect gesteckt.
Ansonsten:
Den Text in CODE setzen oder nach dem Doppelpunkt ein Leerzeichen lassen
... : MyVar ...

BenderD
20-03-20, 13:06
Ich hätte den Where trotzdem in den Subselect gesteckt.
Ansonsten:
Den Text in CODE setzen oder nach dem Doppelpunkt ein Leerzeichen lassen
... : MyVar ...

... wenn Du den where in den subselect steckst, kriegst Du wieder Nullvalues zurück, wenn keine Sätze gefunden werden!!!

Fuerchau
20-03-20, 13:31
Da bin ich dann mal auf die Performance gespannt...