mysql 存储过程 执行报错 我创建了一个简单的存储过程,成功了,但是在call执行调用的时候怎么老是报错呢?
mysql>delimiter//mysql>createprocedureproprice()->begin->selectavg(price)asaveragefro...
mysql> delimiter //
mysql> create procedure proprice()
-> begin
-> select avg(price) as average from products;
-> end//
Query OK, 0 rows affected (0.02 sec)
mysql> delimiter ;
错误:
mysql> call proprice();
ERROR 1457 (HY000): Failed to load routine test.proprice. The table mysql.proc i
s missing, corrupt, or contains bad data (internal code -5) 展开
mysql> create procedure proprice()
-> begin
-> select avg(price) as average from products;
-> end//
Query OK, 0 rows affected (0.02 sec)
mysql> delimiter ;
错误:
mysql> call proprice();
ERROR 1457 (HY000): Failed to load routine test.proprice. The table mysql.proc i
s missing, corrupt, or contains bad data (internal code -5) 展开
2个回答
展开全部
create procedure proprice() is
begin
select avg(price) as average from products;
end;
以上就是规范的格式,请不要添加额外的东西,执行之后调用即可。
如果有其他问题,你可以先百度一下存储过程的规范应用
begin
select avg(price) as average from products;
end;
以上就是规范的格式,请不要添加额外的东西,执行之后调用即可。
如果有其他问题,你可以先百度一下存储过程的规范应用
追问
delimiter // 这个只是我作为定界符使用的 要不然select avg(price) as average from products; 这条语句刚打上分号就会报错
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询