Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Insert Statement Fehler (https://www.delphipraxis.net/175180-insert-statement-fehler.html)

piirate 4. Jun 2013 12:01

Datenbank: Oracle • Version: 11 • Zugriff über: Query

Insert Statement Fehler
 
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

Bernhard Geyer 4. Jun 2013 12:07

AW: Insert Statement Fehler
 
welches Insert?

Über welchen Weg gehst du eigentlich? "Zugriff über: Query" ist keine Zugriffsweg!

Gehst du über BDE/ODBC/ADO/...?

piirate 4. Jun 2013 12:10

AW: Insert Statement Fehler
 
Wow sry, das hab ich missinterpretiert,
DOA

p80286 4. Jun 2013 12:40

AW: Insert Statement Fehler
 
So wird da aber immer noch kein "INSERT" draus.
Code:
 trunc(k.REDA) between '2009-07-01' and '2009-07-31'
mit
Code:
between
arbeite ich äußerst selten, aber sollte es nicht lauten:
Code:
 trunc(k.REDA) between to_date('2009-07-01','YYYY-MM-DD') and to_date('2009-07-31'','YYYY-MM-DD')
Gruß
K-H

Bernhard Geyer 4. Jun 2013 12:51

AW: Insert Statement Fehler
 
Zitat:

Zitat von piirate (Beitrag 1217430)
Wow sry, das hab ich missinterpretiert,
DOA

Das DOA?

piirate 4. Jun 2013 12:59

AW: Insert Statement Fehler
 
Genau das.

piirate 4. Jun 2013 13:09

AW: Insert Statement Fehler
 
Problem behoben,
die länge war einfach zu lang.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz