我想从存储过程中的整数减少一个整数,但是我没有得到我想要的结果。
我有以下表格:
表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
。。。