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

同じ問題に関してスタックオーバーフローの投稿もいくつか見ました。彼らは、uが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 に答える