2013-03-27 141 views
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; 
    $$ 

我也看到堆栈溢出关于同一problem.They曾提到要选择删除数据库下来如果u与MySQL的workbench.I工作正在使用MySQL查询browser.Even我已经提到了一些职位使用数据库。但仍然是提示错误。

回答

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; 
    $$ 
+0

好吧..它工作..感谢 – user2037445 2013-03-27 05:39:25

+0

是啊我试过了,但它askin等待 – user2037445 2013-03-27 05:41:57

1

尝试加入这一行到您的过程声明:

create procedure `lookup`.myproced 

这可能会解决你的问题,我用这种声明的用我自己的程序和从来没有得到任何这样的问题。