2011-08-15 17 views
1

mysqlデータベースでnavicat liteを使用しています。navicat liteのエラーmysql gui: 'フィールドリスト'の不明な列

私のデータベースには、テスト

であると私は、スキーマとテーブルという名前の取引があります。

私はいくつかの入力を受け取り、新しいプロシージャを作成しようとしていますfinalrate 日付、共有名、buyORsell、数量を、いくつかの結果を出力します。このプロシージャを実行すると、このプロシージャはユーザーからの入力パラメータを要求し、結果を出力します。

私の要件:入力(トランザクションタイプ、すなわち「買い」または「売り」)、それはそのタイプで出力すべてのトランザクションが

が、私は関数を作成し、手順をクリックしなければならないを与え

BEGIN 
    #Routine body goes here... 
select * from test.transactions where buyORsell = intype; 
END 
下のスペースに

、私は以下を参照してください。

IN `intype` char 

しかし、私は「パラメータを入力し、」ポップ・Uにこのprcedureと型販売を実行しますP、私はエラーを取得する:

不明列

が助けてください「フィールドリスト」の「売り」..あなたのストアドプロシージャの定義に誤りがあり、INTYPEを含めるのを忘れて

+1

buyORsellどのような列の素晴らしい名前.... – Bruce

+0

ちょうど好奇心 - このインスタンスでストアドプロシージャを使用してあなたの目標は何ですか?単純なSQLクエリのように思えるだけでトリックを行うだろう – JM4

答えて

0

パラメータとしては

0

これはNavicatの問題のようです。私は今、HeidiSQLを関数に使用していますが、うまくいくようです。

Navicatでは、入力パラメーターを使用すると、同じパラメーターが使用されているかどうかにかかわらず、同じ問題が発生します。マーティンのように私はBEGIN ... ENDからすべてのコードをクリアすることができますが、私は任意のcharまたはvarchar入力パラメータを使用する場合でもエラーが発生します。

実際、varcharを入力パラメータとして使用すると、Navicatを使用してANY関数で保存/コンパイルエラーが発生します。 Navicatでは、Varcharの機能は完全に壊れているようです。

1

私は同じ問題を抱えていました。長さ(つまり、char(254))のcharを定義し、プロンプトが表示されたら入力文字列を引用符で囲んで修正しました。

関連する問題