2013-03-27 3 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 упомянул, чтобы выбрать базу данных из выпадающего списка, если и работают с 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

+0

Да, я попробовал, но попросил его подождать – user2037445

1

Попробуйте добавить эту строку в процедуре декларации:

create procedure `lookup`.myproced 

Это может решить вашу проблему, я использую этот вид декларации со своими собственными процедурами и никогда не получал такой проблемы.

Смежные вопросы