0

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

  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 工作台,请从下拉列表中选择数据库。我正在使用 mysql 查询浏览器。即使我提到了使用数据库。但它仍然是提示错误。

4

2 回答 2

1

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

create procedure `lookup`.myproced

这可能会解决您的问题,我在自己的程序中使用这种声明并且从未遇到任何此类问题。

于 2013-03-27T05:36:57.820 回答
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;  
   $$  
于 2013-03-27T05:36:37.223 回答