存储过程 returns 与查询不同的结果

Stored Procedure returns different result than Query

我正在尝试使用带有一个参数的简单查询的 Mysql(MariDB) 存储过程。但是调用的Procedure的结果和最初的查询不一样,我不明白为什么。

这是我的初始查询:

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)

知道这里发生了什么吗?谢谢

调用这样的程序:

CALL ob1.GET_eco_serie(3);

只需删除@符号