2012-03-17 29 views
10

Tôi đang cố gắng tạo thủ tục nhập dữ liệu và sau đó trả về một thông báo trong tham số OUT, tuy nhiên tôi nhận được thông báo này "đối số 5 cho bệnh viện định kỳ .alextest10 không phải là một biến hoặc NEW giả biến trong trigger BEFORE"mysql "không phải biến số hoặc biến giả MỚI"

tôi có điều này là thủ tục của tôi:

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! 

và điều này là kêu gọi của Mẹ lệnh:

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

bạn có thể giúp ?

Được đánh giá cao!

Trả lời

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

điều này sẽ loại bỏ thông báo lỗi nhưng không đưa ra thông báo, chỉ cần thêm dữ liệu. bất kỳ ý tưởng? – alexei7

+1

Chỉ cần 'CHỌN @a_message;' – nnichols

+0

rực rỡ :) tôi nghĩ rằng chức năng đã làm điều gì đó khác. làm việc hoàn hảo ngay bây giờ, cảm ơn cả hai rất nhiều – alexei7

Các vấn đề liên quan