2013-03-27 3 views
0

J'ai créé une procédure mais lorsque j'ai essayé de l'exécuter, une erreur est survenue indiquant qu'aucune base de données n'est sélectionnée. Voici ma procédure.Obtention d'une erreur lors de la création de la procédure

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

J'ai aussi vu des messages dans un débordement de pile en ce qui concerne la même problem.They avait mentionné pour sélectionner la base de données dans le menu déroulant si u travaillent avec MySQL workbench.I je les utilise requête mysql browser.Even je l'ai mentionné Utilisez la base de données. Mais il s'agit toujours d'une erreur d'invite.

Répondre

0

Utilisez l'instruction USE en dehors de la procédure. Pas nécessaire à l'intérieur.

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

Ok .. cela a fonctionné .. merci – user2037445

+0

oui j'ai essayé mais c'est askin d'attendre – user2037445

1

Essayez d'ajouter cette ligne à votre déclaration de procédure:

create procedure `lookup`.myproced 

Cela pourrait résoudre votre problème, j'utilise ce genre de déclaration avec mes propres procédures et n'a jamais eu un tel problème.

Questions connexes