Bonjour à tous,
Je débute dans les procédures mysql 5 et je suis bloqué sur cette erreur, voici une fonction que j'essaye de stocker :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
DROP FUNCTION IF EXISTS formation.get_context_id;
DELIMITER $$
CREATE FUNCTION formation.get_context_id(field_name VARCHAR(255), field_data VARCHAR(255)) returns INTEGER
BEGIN
DECLARE context_type VARCHAR(255);
DECLARE instance_id BIGINT(10) DEFAULT 0;
DECLARE context_id BIGINT(10) DEFAULT 0;
SET context_type = SUBSTRING_INDEX(field_name,'_',1);
IF context_type='category' THEN SELECT id INTO instance_id FROM formation.course_categories WHERE name=field_data LIMIT 1;
ELSEIF context_type='course' THEN SELECT id INTO instance_id FROM formation.course WHERE fullname=field_data LIMIT 1;
ENDIF;
SELECT id INTO context_id FROM formation.context WHERE instanceid=instance_id LIMIT 1;
return context_id;
END$$ |
Il me répond qu'il y a une erreur sur la ligne :
SELECT id INTO context_id FROM formation.context WHERE instanceid=instance_id LIMIT 1;
Est-ce quelqu'un voit pourquoi? Je pensais à un mot réservé, mais quand je rajoute des `` ça ne change rien. D'avance merci.
Partager