web-dev-qa-db-ja.com

MySQLでselectステートメントを使用してストアドプロシージャを呼び出す方法

私はのようなコールステートメントを持っています

 CALL report_procedure
('2013-02-01',now(),'2015-01-01','1');

選択クエリで使用したいと思います。私は試した

Select * from ( CALL report_procedure
    ('2013-02-01',now(),'2015-01-01','1'));

エラーが発生します。お気に入り

エラーコード:1064。SQL構文にエラーがあります。 MySQLサーバーのバージョンに対応するマニュアルで、3行目0.297秒でnear(CALL report_procedure( '2013-02-01'、now()、 '2015-01-01'、 '1'))を使用するための正しい構文を確認してください。

誰かが私にmysqlのSelectステートメントでストアドプロシージャを呼び出す方法を提案できますか?

9
vineeth

FROM句でプロシージャからの結果セットを使用することはできません。 MySQLではこれを行うことはできません。

プロシージャに別のテーブル(または一時テーブル)を入力し、その後、そのテーブルをSELECTコマンドで使用できます-

CALL report_procedure ('2013-02-01',now(),'2015-01-01','1'); -- fill temp_table
SELECT * FROM temp_table;
7
Devart