AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Firebird StoredPorc und Feldname als Paramter
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird StoredPorc und Feldname als Paramter

Ein Thema von Jens Schumann · begonnen am 27. Sep 2007 · letzter Beitrag vom 28. Sep 2007
 
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Firebird StoredPorc und Feldname als Paramter

  Alt 28. Sep 2007, 08:36
Hallo Dax,
nach einigem Probieren bin ich bei folgender Syntax angekommen
Code:
ALTER PROCEDURE "GET_VALUE"
(
  "A_JAHR" INTEGER,
  "A_ENTITY" VARCHAR(15) CHARACTER SET ISO8859_1,
  "A_POSNR" VARCHAR(15) CHARACTER SET ISO8859_1
)
RETURNS
(
  "A_VALUE" DOUBLE PRECISION
)
AS
DECLARE VARIABLE L_VER INTEGER;
DECLARE VARIABLE L_DEZ VARCHAR(3);
begin
  L_DEZ = 'DEZ';
  SELECT id FROM versionen WHERE aktive=1 INTO :L_VER;

  EXECUTE STATEMENT 'SELECT SUM('||:L_DEZ||') AS DEZ FROM positiondata pd
          WHERE (pd.jahr='||:A_JAHR||' AND pd.entity='||:A_ENTITY ||' AND
                 pd.posnr='||:A_POSNR||' and pd.ver='||:L_VER||') '
          INTO :A_VALUE;

  SUSPEND;
end
Das wird compiliert. Zur Laufzeit wird jedoch ein Fehler ausgegeben.
Parameter:
A_JAHR = 2007
A_ENTITY = 100132
A_POSNR = GV5031001110

Code:
Dynamic SQL Error
SQL error code = -206
Column unknown
GV5031001110
At line 3, column 40
Es sieht so aus, als ob der Parameter A_POSNR als Spalte interpretiert wird

Wenn ich dem Beispiel deines Links folge und die | nicht verwende erhalte ebenfalls einen Fehler:
Code:
ISC ERROR CODE:335544569

ISC ERROR MESSAGE:
Dynamic SQL Error
SQL error code = -206
Column unknown
A_JAHR
At line 2, column 27
Dann habe ich versucht die Parameter über values mitzugeben.
Code:
  EXECUTE STATEMENT 'SELECT SUM(:L_DEZ) AS DEZ FROM positiondata pd
          WHERE (pd.jahr=:A_JAHR AND pd.entity= :A_ENTITY AND
                 pd.posnr=:A_POSNR and pd.ver=:L_VER) '
          INTO :A_VALUE VALUES :L_DEZ,:A_JAHR,:A_ENTITY,:A_POSNR,:L_VER;
Das erzeugt schon beim compilieren einen Fehler
Code:
ISC ERROR CODE:335544569

ISC ERROR MESSAGE:
Dynamic SQL Error
SQL error code = -104
Token unknown - line 15, column 25
VALUES
I come from outer space to save the human race
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:41 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