2016-07-28 7 views
1

パラメータを持つストアドプロシージャ名getStocksがあります。以下のコードは、私がどのようにして質問をしたいかの例です。 SELECT QUERYで手続きを呼び出すことは可能ですか?私はロードの問題を取得していますcuzをコールプロシージャを使用した選択MySQL

PS私は

BEGIN 

SELECT ItemId, CatalogNumber, call getStocks(ItemId) AS quantity, 
Cost, Minimum, Maximum, TypeId, SupplierId FROM items; 

END 

答えて

0

あなたはUSER-を使用したい私のVB.NetでのDataGridViewを取り込むには、私はそれを適用する場合、機能を使用していませんでした定義関数(UDF):http://dev.mysql.com/doc/refman/5.7/en/create-function-udf.html。ストアドプロシージャとは異なり、UDFはクエリでインラインで呼び出すことができます。

+0

私は使用できません機能を参照してください** PS ** –

+0

どのようなローディングの問題がありますか?エラーメッセージが表示されますか?間違ったデータを取得していますか? UDFはこの種の問題を解決するための標準的な方法です。機能にバグがあるだけです。投稿してください。 –

+0

私の他の質問はここにありますhttp://stackoverflow.com/questions/38631426/select-with-mysql-stored-function-in-vb-net?noredirect=1#comment64659782_38631426 –

1

これを行うことはできません。 CALLは、SELECTと混同することはできません。 UDFを使用できない場合は、手動で統合を実行する必要があります。

CALLがオプションで結果セットを出力できると考えると、CALLはこのように使用できません。結果セットを返す可能性があります。 1つのセル、1つの行、1つの列、または多くの行/列を持つことができます。あなたがFROMに電話をかけたときにオプティマイザがJOINを検証できなかったので、複数のセルを生成することができます(または何もしない)ので、オプティマイザは呼び出し時にその列を確実にSELECT。さらに、ストアドプロシージャは出力変数を持つことができ、SELECTステートメントの文脈では意味を持ちません。

つまり、プロシージャの出力はおそらくSELECTクエリのどの部分とも互換性がないため、mysqlのメーカはそれらの混合をグローバルに防ぎます。

+0

ありがとうございました。私はこの呼び出し手順を試した理由は何ですか?http://stackoverflow.com/questions/38631426/select-with-mysql-stored-function-in-vb-net?noredirect=1#comment64659782_38631426 –

+0

申し訳ありませんが、VBの男。もしあなたがエラーがあったら、私は助けることができた;) – CSTobey

+0

私はlocalhostでなぜそれを適用するときにデータを生成するために2.xxx秒を要したのか分からないタイムアウトのポップアウトまで –

関連する問題