Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

SQL-Abfrage funktioniert nicht in Stored Procedure

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von diwa_, 19 August 2013.

  1. diwa_

    diwa_ Neuer Benutzer

    Hi Leute,

    ich habe eine SQL-Abfrage, die mir im phpmyAdmin-SQL-Befehlsfenster - den in der Datenbank enthaltenen Daten entsprechend - 6 Datensätze zurückliefert.

    Wenn ich diese Abfrage als Stored Procedure speichere, und ausführe, so wird nur der erste Datensatz zurückgeliefert.

    Woran kann das liegen?

    Code:
    SELECT Tabelle_1.id, Tabelle_1.strName  FROM Tabelle_1
     
        inner join users
        on users.idTabelle_1=Tabelle_1.id
     
    where users.id=p_user
     
    UNION
     
    SELECT Tabelle_1.id, Tabelle_1.strName FROM Tabelle_1
     
        inner join Tabelle_1_Beziehungen
        on Tabelle_1.id=Tabelle_1_Beziehungen.idTabelle_1Sub
     
    where Tabelle_1_Beziehungen.idTabelle_1=(SELECT Tabelle_1.id FROM Tabelle_1
            inner join users
            on users.idTabelle_1=Tabelle_1.id
     
            where users.id=p_user)
           
    order by strName
    Dabei ist in "Tabelle_1" eine Anzahl von Objekten gespeichert.
    "Tabelle_1_Beziehung" stellt eine hierachische Beziehung der Objekte aus "Tabelle_1" her.
    Den in der Tabelle "users" gespeicherten Benutzern ist ein Objekt direkt zugeordnet, das SQL-Kommando gibt auch alle diesem Objekt untergeordneten Objekte mit aus.

    Merci
    diwa_
     
  2. ukulele

    ukulele Datenbank-Guru

    Sollte users.id=p_user nicht in ' ' gesetzt sein? Oder ist das eine Variable?
     
  3. diwa_

    diwa_ Neuer Benutzer

    Das ist eine Variable...

    Ich habe inzwischen auch die Lösung:
    phpmyAdmin zeigt im Berei "Routines" nur die erste Zeile des Ergebnisses an.
    Wenn ich im SQL-Befehlsfenster die SP aufrufe, werden alle Datensätze angezeigte - genauso, als wenn der SQL-Ausdruck dort händisch eigegeben wäre...

    Merci

    dirk
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden