0

尝试做一些非常简单的事情。使用 If/Then,有没有办法根据变量的值运行单独的 Select 语句?下面代码中的函数 GetTotalActiveUnits() 返回一个整数。

    set @RetVal =  GetTotalActiveUnits(CustomerCode);
    if  @RetVal = 0 then 
    Select * from tblREF_UnitInfo;
    else
    select * from tblREF_State;
    end if
4

1 回答 1

0

您的代码没有问题 - 至少就 IF 而言,如果它在存储的例程中。

drop procedure if exists p;
delimiter $$
create procedure p(inp int)
begin
     set @RetVal = inp;# GetTotalActiveUnits(CustomerCode);
    if  @RetVal = 0 then 
     select @retval ;
    else
     select @retval ;
    end if ;

end $$

delimiter ;

call p(1);
+---------+
| @retval |
+---------+
|       1 |
+---------+
1 row in set (0.001 sec)

call p(0)
+---------+
| @retval |
+---------+
|       0 |
+---------+
1 row in set (0.001 sec)
于 2021-01-12T14:40:11.030 回答