Я пытаюсь использовать хранимую процедуру 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. –