这个问题花了我近一个小时,现在我知道这很简单。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