MySQL说:#1064 - 你的SQL语法中有一个错误,创建了一个存储过程

时间:2017-06-13 12:18:32

标签: mysql stored-procedures

我尝试使用phpmyadmin创建存储过程。

这是我的代码:

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

查看我的窗口的屏幕截图: enter image description here

我收到以下错误:enter image description here

这是我的patient_data表:enter image description here

你知道出了什么问题吗?

提前谢谢!

2 个答案:

答案 0 :(得分:1)

从该对话框创建脚本看起来有些问题。当您看到正在创建的参数时,缺少第二个参数(因此缺少一个没有字段名称的额外,

通过删除第二个参数并重新添加它,似乎已经解决了这个问题。

答案 1 :(得分:0)

尝试添加其他参数:

  • 方向:OUT
  • 名称: cl_cursor (可以是您想要的任何名称)
  • 类型:SYS_REFCURSOR

在代码中执行以下操作:

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

如果上述解决方案无效,请尝试添加

begin

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

end;