Thema: Delphi Insert Statement Fehler

Einzelnen Beitrag anzeigen

piirate

Registriert seit: 11. Mär 2013
9 Beiträge
 
#1

Insert Statement Fehler

  Alt 4. Jun 2013, 12:01
Datenbank: Oracle • Version: 11 • Zugriff über: Query
Hallo,
also es ist mir jetzt ziemlich peinlich aber ich komm nicht mehr weiter.

Ich habe eine Anwendung, bei der Benutzer Sql Statements ausführen können.
Und nun würde ich gerne alle Ausführungen loggen, also das Statement und den User.
Aber kaum habe ich lange Statements funktioniert das Logging nicht mehr und ich bekomme folgenden Fehler:
ORA-01480: Nachgestellte Null fehlt bei STR-Bindewert.

Kann es sein, dass es Probleme mit den '' gibt und deshalb das Insert nicht geht?
Oder gibt es eine gewisses Limit bei der Länge?

Statement sieht zb so aus:

Code:
select k.KDNR, gk.KBEZ,
round(sum(case when omarken like 'V%' then f.EK * f.REMGE * f.stsig else 0 end)/97,2) as EK_V,
round(sum(case when omarken like 'V%' then f.AP * f.REMGE * f.stsig else 0 end)/97,2) as AP_V,
round(sum(case when omarken like 'A%' then f.EK * f.REMGE * f.stsig else 0 end)/97,2) as EK_A,
round(sum(case when omarken like 'A%' then f.AP * f.REMGE * f.stsig else 0 end)/97,2) as AP_A,
round(sum(case when omarken like 'C%' then f.EK * f.REMGE * f.stsig else 0 end)/97,2) as EK_C,
round(sum(case when omarken like 'C%' then f.AP * f.REMGE * f.stsig else 0 end)/97,2) as AP_C,
round(sum(case when omarken like 'S%' then f.EK * f.REMGE * f.stsig else 0 end)/97,2) as EK_S,
round(sum(case when omarken like 'S%' then f.AP * f.REMGE * f.stsig else 0 end)/97,2) as AP_S,
round(sum(case when omarken like 'P%' then f.EK * f.REMGE * f.stsig else 0 end)/97,2) as EK_P,
round(sum(case when omarken like 'P%' then f.AP * f.REMGE * f.stsig else 0 end)/97,2) as AP_P,
round(sum(case when omarken is null then f.EK * f.REMGE * f.stsig else 0 end)/97,2) as EK_Rest,
round(sum(case when omarken is null then f.AP * f.REMGE * f.stsig else 0 end)/97,2) as AP_Rest,
round(sum(f.EK * f.REMGE * f.stsig/97),2) as EK_GES,
round(sum(f.AP * f.REMGE * f.stsig/97),2) as AP_GES
from KREK k
join KREP p on p.RENR=k.RENR
join GPT gk on gk.GPTNR=k.KDNR
join FAKT f on f.FNR=p.FNR
join TST t on t.TNRE=p.TNRE
join WART w on w.WA=t.WA
where trunc(k.REDA) between '2009-07-01' and '2009-07-31'
  and (w.wagr between 20 and 28 or w.wagr = 50)
  and (f.EK * f.REMGE * f.stsig <> 0 or f.AP * f.REMGE * f.stsig <> 0 or f.EK * f.REMGE * f.stsig is not null or f.AP * f.REMGE * f.stsig is not null)
group by k.KDNR, gk.KBEZ
having round(sum(case when w.wagr between 20 and 28 or w.wagr = 50 then f.EK * f.REMGE * f.stsig else 0 end)/97,2)<>0 
order by k.KDNR
Hoffentlich kann mir jemand helfen
  Mit Zitat antworten Zitat