从存储过程中的整数中减去一个整数(SQL版本8.0.23)



我想从存储过程中的整数减少一个整数,但是我没有得到我想要的结果。

我有以下表格:

表h(

i int
c int(

持有价值

i c
1 100

在中

SELECT c INTO @f FROM h WHERE i = j;

您选择的是变量(定义为SP参数(,而不是列值!!!

在您的呼叫中,它变成

SELECT 10 INTO @f FROM h WHERE i = j; -- parameter variable `c` gets the value 10.

您必须使用

SELECT h.c INTO @f FROM h WHERE i = j;

让我重复一遍:

NEVER干扰列名和局部变量名(SP参数也是局部变量(。


此外,您的SP将失败,因为它使用了未声明的变量j。根据参数的含义/赋值,它必须是b。。。

最新更新