baeckerman83: MYSQL Prozedure Übergabe für "in"?

Hiho!
Ich versuche gerade eine Prozedur zu schreiben in der ein Select genutzt wird und in dem Select gibt es eine where Bedinungen "where liga in (1,2,3,7,8)" Die Werte 1,2,3,7,8 sollen der Prozedure übergeben werden, geht das irgendwie? Als Text und varchar geht es nicht.

  1. Hi,

    Ich versuche gerade eine Prozedur zu schreiben in der ein Select genutzt wird und in dem Select gibt es eine where Bedinungen "where liga in (1,2,3,7,8)" Die Werte 1,2,3,7,8 sollen der Prozedure übergeben werden, geht das irgendwie?

    http://www.google.com/search?q=mysql+procedure+in+operator
    -> http://forums.mysql.com/read.php?98,96217,96217
    -> http://bytes.com/topic/mysql/answers/592909-syntax-pass-parameter-like-operator-using-stored-procedure

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
  2. Tach!

    Ich versuche gerade eine Prozedur zu schreiben in der ein Select genutzt wird und in dem Select gibt es eine where Bedinungen "where liga in (1,2,3,7,8)" Die Werte 1,2,3,7,8 sollen der Prozedure übergeben werden, geht das irgendwie? Als Text und varchar geht es nicht.

    Alles was geht, steht im Handbuch-Abschnitt zum IN()-Operator.

    Die Komma-Trennung der Parameter ist Syntax. Du kannst Syntax nicht in einem Wert verstecken, das wäre sonst eine Art eval. Und eine Art eval kennt MySQL nur im Zusammenhang mit PREPARE. Siehe dazu das Handbuch, Kapitel zu Statement Syntax, Unterkapitel zu den Prepared Statements. Du kannst also nur ein komplettes Statement als String zusammenbauen. Und dann kannst du gleich das Statement außerhalb fertigstellen und ganz normal ausführen.

    dedlfix.