Reputation: 13
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; check the manual that corresponds to your MySQL server version for the right syntax to use near 'END' at line 36
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 ;
Upvotes: 0
Views: 163
Reputation: 619
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 ;
Upvotes: 1
Reputation: 3756
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 ;
Upvotes: 0