-1

我正在尝试在 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 服务器版本相对应的手册,以在第 1 行的 'PROCEDURE productpricing( OUT pl DECIMAL(8,2), OUT ph DECIMAL(8,2), ' 附近使用正确的语法

4

1 回答 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 ;
于 2009-07-24T23:54:01.867 回答