這個問題花了我近一個小時,現在我知道這很簡單。MySQL存儲過程聲明問題
我收到以下錯誤:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IN VARCHAR(256), hl7PatientId IN VARCHAR(256))
BEGIN
DECLARE mainQueue INT' at line 1
這裏是我的查詢,看起來我的權利:
DROP PROCEDURE IF EXISTS insert_data;
CREATE PROCEDURE `insert_data`(hl7PatientName IN VARCHAR(256), hl7PatientId IN VARCHAR(256))
BEGIN
DECLARE mainQueue INT DEFAULT 1;
SELECT `queueid` INTO mainQueue FROM `queues` WHERE `description` LIKE 'Main' AND `enabled` = 1 LIMIT 1;
INSERT INTO `queue_data`
(`queueid`, `patientname`, `patientid`, `location`, `creationtime`, `priority`)
VALUES
(mainQueue, hl7PatientName, hl7PatientId, 'QUEUE_NUMBER', TIMESTAMP(), '');
END;
我使用的MySQL 5.0.77這個。
任何人都可以看到這是錯的嗎?
我注意到我的IN在錯誤的位置,然後我嘗試去做分隔符但是無法使它工作,但是你的作品完美。所以我不確定我做錯了什麼。 謝謝! – Khirok 2011-01-11 23:19:13