2009-07-24 7 views
-1

Ich versuche, eine gespeicherte Prozedur in MYSQL zu erstellen. Unten ist mein Code, der ist, der Syntaxfehler gibt. Kann mir bitte jemand helfen.Syntaxfehler in 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; 

... und der Fehler ist:

Sie haben einen Fehler in Ihrer SQL-Syntax; Sie in der Bedienungsanleitung für die richtige Syntax zu verwenden in der Nähe von 'VERFAHREN productpricing ( OUT pl DECIMAL (8,2), OUT ph DECIMAL (8,2), ' at line 1

zu Ihrem MySQL-Server-Version entspricht

Antwort

2

Versuchen Sie, die MySQL-Begrenzer zu ändern, die von dem Client (Kommandozeile oder aus anderen Gründen) vor der Prozedurdefinition beendet werden kann interpretiert werden kann

die Sie interessieren.

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 ; 
Verwandte Themen