daniels88: function parameter zu feldname???

Hi Leute,
ich sitze schon 3 Stunden an einen mini Problem und finde keine Lösung!
Ich habe in mysql eine function die 2 Parameter bekommt
VARCHAR 4 => Datenpunkt und
INT => Jahr bz 2011

function:
fgetYearOf(DataPoint VARCHAR(5), Jahr INT

DECLARE aSum INT;
SELECT SUM('DataPoint') FROM MAINDATA WHERE Year=Jahr INTO aSum;
Return aSum;

Aber die funktion interpretiert das SUM('DataPoint') falsch! Was mach ich verkehrt?? Wie bekomme ich einen Übergabestring zu Fieldname!
Möchte ungern mit CONCAT arbeiten!

Gruss
*daniel

  1. Hi!

    SELECT SUM('DataPoint') FROM MAINDATA WHERE Year=Jahr INTO aSum;
    Aber die funktion interpretiert das SUM('DataPoint') falsch! Was mach ich verkehrt?? Wie bekomme ich einen Übergabestring zu Fieldname!

    Du möchtest also ein Statement zur Laufzeit erstellen, und der Inhalt von DataPoint ist ein Feldname?

    Möchte ungern mit CONCAT arbeiten!

    Das brauchst du aber dann, um den Statementstring zusammenzubauen. Nicht zu vergessen das Quotieren des Feldnamens und das Maskieren von darin enthaltenen Quotierzeichen. Den erzeugten String übergibst du anschließend an PREPARE und führst das mit EXECUTE aus.

    Lo!