mysql“不是变量或新的伪变量”消息

时间:2012-03-17 16:33:32

标签: mysql out

我正在尝试创建一个程序,它将输入数据,然后在OUT参数中返回一条消息,但是我收到此消息“参数5用于例行医院.alextest10不是变量或NEW伪变量之前触发“

我将此作为我的程序:

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)!

你能帮忙吗?

非常感谢!

2 个答案:

答案 0 :(得分:18)

CALL alextest10 ('p99', 'Madeuppy', '999', 'w9', @a_message);
SELECT @a_message;

答案 1 :(得分:0)

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

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

其中 cStmt 的类型为 CallableStatement