创建过程时出错

时间:2013-03-27 05:27:16

标签: mysql procedures

我创建了一个程序,但是当我试图执行它给出一个没有选择数据库的错误时。这是我的程序。

  DELIMITER $$  
   create procedure myproced  
   as  
   declare arpt varchar(10);  
   declare num int;  
   BEGIN  
   use lookup;  
   create temporary table lookup.airportname as (select distinct name from lookup.airpot);  
   select count(*) into num from (select * from airportname);  
   END;  
   $$  

我也看到了一些关于同一问题的堆栈溢出的帖子。如果你正在使用mysql workbench,我提到从下拉列表中选择数据库。我正在使用mysql查询浏览器。甚至我提到过使用database.But仍然是提示错误。

2 个答案:

答案 0 :(得分:1)

尝试将此行添加到您的过程声明中:

create procedure `lookup`.myproced

这可能会解决您的问题,我在自己的程序中使用这种声明,从来没有遇到过这样的问题。

答案 1 :(得分:0)

在程序之外使用USE语句。内部不需要。

DELIMITER $$  
USE [DAtabase Name]$$
DELIMITER $$  
   create procedure myproced  
   as  
   declare arpt varchar(10);  
   declare num int;  
   BEGIN  
   create temporary table lookup.airportname as (select distinct name from lookup.airpot);  
   select count(*) into num from (select * from airportname);  
   END;  
   $$