2009-07-24 16 views
-1

J'essaye de créer une procédure stockée dans MYSQL. Ci-dessous est mon code qui est donnant une erreur de syntaxe. Est-ce que quelqu'un peut m'aider s'il vous plait.erreur de syntaxe dans mysql

CREATE PROCEDURE productpricing ( 
    OUT pl DECIMAL(8,2),  
    OUT ph DECIMAL(8,2),  
    OUT pa DECIMAL(8,2)  
) 

BEGIN 

    SELECT Min(prod_price) INTO pl  
    FROM products; 

    SELECT Max(prod_price) INTO ph 
    FROM products; 

    SELECT Avg(prod_price) INTO pa 
    FROM products; 

END; 

... et l'erreur est:

Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre version du serveur MySQL pour la bonne syntaxe à utiliser à proximité 'PROCEDURE productpricing ( OUT pl DECIMAL (8,2), OUT ph DECIMAL (8,2), ' à la ligne 1

Répondre

2

Essayez de changer le délimiteur MySQL, qui peut être interprété par le client (la ligne de commande ou autre) avant la définition de la procédure peut être terminée

Essayez ceci:.

DELIMITER // 
CREATE PROCEDURE productpricing ( 
    OUT pl DECIMAL(8,2),  
    OUT ph DECIMAL(8,2),  
    OUT pa DECIMAL(8,2)  
) 

BEGIN  
    SELECT Min(prod_price)  
    INTO pl  
    FROM products; 

    SELECT Max(prod_price)  
    INTO ph  
    FROM products; 

    SELECT Avg(prod_price)  
    INTO pa  
    FROM products;  
END// 

DELIMITER ;