-1
1つのパラメータを持つ単純なクエリのMysql(MariDB)ストアドプロシージャを使用しようとしています。しかし、呼び出されたプロシージャーの結果は最初の照会と異なり、なぜ私は理解しません。ここでストアドプロシージャがクエリと異なる結果を返します
は私の最初のクエリです:
MariaDB [(none)]> SELECT * FROM ob1.eco_serie WHERE TS_ID = 3;
+-----+-------+---------------------+---------------------+------+
| id | TS_ID | Date_period | Date_publi | Val |
+-----+-------+---------------------+---------------------+------+
| 4 | 3 | 1996-10-31 00:00:00 | 1996-11-01 00:00:00 | 50.5 |
| 5 | 3 | 1996-11-30 00:00:00 | 1996-12-02 00:00:00 | 53 |
| 6 | 3 | 1996-12-31 00:00:00 | 1997-01-02 00:00:00 | 55.2 |
... ... ........... ............. ...
その後、私はこのクエリのストアド・プロシージャを作成:私は前と同じパラメータを使用して、この手順を呼び出す
MariaDB [(none)]> CREATE PROCEDURE ob1.GET_eco_serie (IN par_serie_ID INT)
-> BEGIN
-> SELECT * FROM ob1.eco_serie WHERE TS_ID = par_serie_ID;
-> END//
Query OK, 0 rows affected (0.06 sec)
しかし、私は、空の結果を得る:
MariaDB [(none)]> CALL ob1.GET_eco_serie(@3);
Empty set (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
何が起こっているのですか?ありがとう。
サインあなたは3 @変数を宣言したことがありますか? –
私はあなたがそれを意味するものを得ていないので、おそらくそうではありません。あなたは説明できますか? – ylnor
SPパラメータに値を持たない限り、不可能です。 –