2017-06-13 2 views
0

Ich versuche, eine gespeicherte Prozedur mit phpmyadmin zu erstellen.MySQL sagte: # 1064 - Sie haben einen Fehler in Ihrer SQL-Syntax erstellen eine gespeicherte Prozedur

Dies ist mein Code:

SELECT * 
FROM patient_data 
WHERE patient_data.patient_id = p_id AND patient_data.date_of_birth = dob 

einen Screenshot von meinem Fenster sehen: enter image description here

ich die folgende Fehlermeldung erhalten: enter image description here

Das ist meine patient_data Tabelle: enter image description here

Haben Sie eine Idee was falsch ist?

Vielen Dank im Voraus!

+1

Try Wenn Sie den zweiten Parameter löschen und erneut hinzufügen, können Sie sehen, dass er in SQL fehlt. –

+0

@NigelRen Das ist die Lösung! Danke! Fügen Sie es als Antwort hinzu. – zinon

Antwort

1

Es sieht aus, als wenn es ein Problem mit der Erstellung des Skripts aus diesem Dialog ist. Wenn Sie die Parameter sehen erstellt wird, wird der zweite fehlt (und damit ein zusätzliches , ohne Feldnamen.

Das Problem scheint durch das Löschen der zweite Parameter und Wiederschöpf sie gelöscht wurden.

0

Versuchen das Hinzufügen eines weiteren Parameter:

  • Richtung: OUT
  • Name: cl_cursor (kann einen beliebigen Namen, die Sie wünschen)
  • Typ: sys_refcursor

Im Code tun die folgenden:

open cl_cursor for 
    SELECT * 
    FROM patient_data 
    WHERE patient_id = p_id AND 
      date_of_birth = dob; 

Wenn die obige Lösung Hinzufügen nicht funktioniert versuchen

begin 

open cl_cursor for 
    SELECT * 
    FROM patient_data 
    WHERE patient_id = p_id AND 
      date_of_birth = dob; 

end; 
+0

Das System verfügt nicht über die Option 'SYS_REFCURSOR' Art ". – zinon

Verwandte Themen