Bonjour,

je désire construire une requête SQL dynamiquement depuis une procédure stockée. Voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
 
DELIMITER $$
 
DROP PROCEDURE IF EXISTS `qbcdev2`.`prc_test`$$
 
CREATE DEFINER=`qbcdev2`@`%` PROCEDURE `prc_test`(param_test_1 int)
BEGIN
	declare borne int default 0;
	declare requete varchar(500) default 'Select id_joueur from joueur inner join web_users on joueur.id_user = web_users.id_user';
	if param_test_1 = 0  then
		if borne = 0 then
		set requete = concat(requete, ' where web_users.username = ', param_test_1 );
		else
		set requete = concat(requete, ' and web_users.username = ', param_test_1 );
		end if;
		set borne = borne + 1;
	end if;
	prepare finalRequete from @requete;
	execute finalRequete;
	DEALLOCATE PREPARE finalRequete;
    END$$
 
DELIMITER ;
Cependantsi je mets le paramètre à 0.
Pour ainsi que mon string soit complété de " where web_users.username = 1".
Par contre je reçois le message d'erreur suivant:
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 'NULL' at line 1

Merci et bonne fin de journée
Gabriel Deschênes