2013-09-23 2 views
1

Des idées pour lesquelles cela se produit?1054, 1064 Erreurs avec la procédure stockée

mysql> DROP PROCEDURE IF EXISTS GetUserByUserID; 
Query OK, 0 rows affected 


    mysql> DELIMITER $$ 
    mysql> CREATE PROCEDURE GetUserByUserID(IN userID VARCHAR(32)) 
     BEGIN 
      PREPARE stmt1 FROM 'SELECT u.*, usg.SCHOOL_GRADE_ID FROM PF_USER u LEFT JOIN PF_USER_SCHOOL_GRADE usg ON u.USER_ID=usg.USER_ID AND u.USER_ID=?'; 
      SET @a = userID; 
      EXECUTE stmt1 USING @a; 
      DEALLOCATE PREPARE stmt1; 
     END $$ 
    DELIMITER ; 

mysql> call GetUserByUserID(000E8893F29ED6E84CECCB0FA8B869D1); 
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 'F29ED6E84CECCB0FA8B869D1)' at line 1 

mysql> call GetUserByUserID(00100D6243E1E08BC17607E1AB9E3908); 
ERROR 1054 : Unknown column '00100D6243E1E08BC17607E1AB9E3908' in 'field list' 
+0

vous devez envelopper la valeur avec des guillemets simples puisque vous chaîne de passage,'appel GetUserByUserID ('000E8893F29ED6E84CECCB0FA8B869D1'), ' –

Répondre

0

Essayez d'appeler la procédure stockée comme: -

mysql> call GetUserByUserID('000E8893F29ED6E84CECCB0FA8B869D1'); 
+1

Rahul, que l'a fait, merci. – Bill

+0

@Bill: - Si ma réponse vous a aidé alors vous pouvez accepter cela comme une réponse !!!! :) –

Questions connexes