【问题标题】:mysql "not a variable or NEW pseudo-variable" messagemysql“不是变量或新的伪变量”消息
【发布时间】:2012-04-02 20:21:54
【问题描述】:

我正在尝试创建一个将输入数据然后在 OUT 参数中返回消息的过程,但是我收到此消息“常规医院的参数 5.alextest10 不是变量或新的伪变量触发前"

我有这个作为我的程序:

create procedure alextest10
(IN a_patid CHAR(3), IN a_patnam VARCHAR(12), IN a_consno CHAR(3), IN a_ward CHAR(2),
OUT a_message VARCHAR(50))
BEGIN
set a_message = 'Database updated';
INSERT INTO patient (patient_id, patient_name, consultant_no, ward_no)
values (a_patid, a_patnam, a_consno, a_ward);
end!

这是我的呼叫命令:

call alextest10 ('p99', 'Madeuppy', '999', 'w9', a_message)!

你能帮忙吗?

非常感谢!

【问题讨论】:

    标签: mysql out


    【解决方案1】:

    您应该使用 registerOutParameter - 在您的情况下:

    cStmt.registerOutParameter(5, java.sql.Types.VARCHAR);
    

    cStmt 的类型是 CallableStatement

    【讨论】:

      【解决方案2】:
      CALL alextest10 ('p99', 'Madeuppy', '999', 'w9', @a_message);
      SELECT @a_message;
      

      【讨论】:

      • 这会消除错误消息,但不会显示消息,只是添加数据。有什么想法吗?
      • brilliant :) 我认为该功能做了其他事情。现在工作得很好,非常感谢你们俩
      • 你是如何声明@a_message 变量的?
      • @JitendraPancholi:你能弄清楚吗?
      • @j10 对不起兄弟,现在不记得了。
      猜你喜欢
      • 2015-09-07
      • 1970-01-01
      • 1970-01-01
      • 2013-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多