[英]mysql stored procedure fails on 'END'
I can't grasp as to why this won't work, i have a nearly similair procedure that works without issues, but this one just keeps throwing an error: 我不知道为什么这行不通,我有一个几乎没有问题的类似程序,但是这个程序总是抛出错误:
#1064 - You have an error in your SQL syntax;
#1064-您的SQL语法有误; check the manual that corresponds to your MySQL server version for the right syntax to use near 'END' at line 36
检查与您的MySQL服务器版本相对应的手册,以在第36行的“ END”附近使用正确的语法
DELIMITER //
CREATE PROCEDURE FillCnsGroupWithRates
(
IN groupId INT(10)
)
BEGIN
SET @var1 = groupId;
INSERT INTO
cns_group_rates
(
cns_id,
other_cns_id,
ppc,
pps,
max_price,
notes,
cns_group_id
)
SELECT
cns_id,
other_cns_id,
ppc,
pps,
max_price,
notes,
@var1
FROM
cns_rates
WHERE
cns_id NOT LIKE '319%'
AND
client_id IS NULL
AND
subordinates IS NULL
AND
valid_from IS NULL
END //
DELIMITER ;
You forgot semicolon above the end 你忘了最后的分号
DELIMITER //
CREATE PROCEDURE FillCnsGroupWithRates
(
IN groupId INT(10)
)
BEGIN
SET @var1 = groupId;
INSERT INTO
cns_group_rates
(
cns_id,
other_cns_id,
ppc,
pps,
max_price,
notes,
cns_group_id
)
SELECT
cns_id,
other_cns_id,
ppc,
pps,
max_price,
notes,
@var1
FROM
cns_rates
WHERE
cns_id NOT LIKE '319%'
AND
client_id IS NULL
AND
subordinates IS NULL
AND
valid_from IS NULL;
END //
DELIMITER ;
You forget semicolon in the end of query Try This 您会在查询末尾忘记分号试试这个
DELIMITER //
CREATE PROCEDURE FillCnsGroupWithRates
(
IN groupId INT(10)
)
BEGIN
SET @var1 = groupId;
INSERT INTO
cns_group_rates
(
cns_id,
other_cns_id,
ppc,
pps,
max_price,
notes,
cns_group_id
)
SELECT
cns_id,
other_cns_id,
ppc,
pps,
max_price,
notes,
@var1
FROM
cns_rates
WHERE
cns_id NOT LIKE '319%'
AND
client_id IS NULL
AND
subordinates IS NULL
AND
valid_from IS NULL;
END //
DELIMITER ;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.