Bonjour tout le monde
j'héberge mon site web chez ovh.
j'essaye d’exécuter la procédure stockée suivante
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
25
26
27
28
29
30
31
32
33
34
 
CREATE DEFINER=`mon_nom`@`localhost` PROCEDURE `sp_count`(IN `tableName` VARCHAR(255), IN `clause` VARCHAR(255))
BEGIN
SET @stmt_sql=CONCAT("select COUNT(*) as count  from ", tableName," ",clause);
 
  PREPARE stmt_count FROM @stmt_sql;
 
  EXECUTE stmt_count;
 
  DEALLOCATE PREPARE stmt_count;
 
    END$$
 
CREATE DEFINER=`mon_nom`@`localhost` PROCEDURE `sp_delete`(IN `tableName` VARCHAR(100), IN `claus` VARCHAR(100))
    SQL SECURITY INVOKER
BEGIN
 
     IF claus<>'' THEN
 
      SET @stmt_sql=CONCAT("DELETE FROM ", tableName," WHERE ",claus);
 
     ELSE 
 
      SET @stmt_sql=CONCAT("DELETE FROM ", tableName);
 
     END IF;
 
     PREPARE stmt FROM @stmt_sql;
 
     EXECUTE stmt;
 
     DEALLOCATE PREPARE stmt;
 
    END$$
Mysql me délivre ce message d'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 '' at line 4
plus exactement cette ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
SET @stmt_sql=CONCAT("select COUNT(*) as count  from ", tableName," ",clause);
Je pense que le problème provoqué par les guillemet en rouge mais je ne sait pas comment corriger!
Pourriez-vous m'aider svp ?
Note: cette procédure tourne sans problème chez autre hébergeurs comme justhost et vipdomaine!
Cordialement