2009-07-24 2 views
-1

Я пытаюсь создать хранимую процедуру в MYSQL. Ниже приведен мой код , дающий синтаксическую ошибку. Кто-нибудь может мне помочь, пожалуйста.ошибка синтаксиса в 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; 

... и ошибка:

У Вас есть ошибка в вашем SQL синтаксиса; проверьте руководство, которое соответствует версии сервера MySQL для правильного синтаксиса, чтобы использовать вблизи 'PROCEDURE productpricing ( OUT Pl DECIMAL (8,2), OUT рН DECIMAL (8,2), ' в строке 1

ответ

2

Попробуйте изменить разделитель MySQL, который может быть интерпретирован клиентом (командной строки или иным образом) перед определением процедуры может быть закончена

Попробуйте это:.

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 ;