日期:2014-05-17  浏览次数:20730 次

SQL 的一个函数问题
本帖最后由 wangbiao_97 于 2012-12-10 17:53:00 编辑
函数里面用了很多个IF 语句
IF A=123
 BEGIN
 SET XX=1 
 END

IF A=456
 BEGIN
 SET XX=1 
 END  
.....

最后一句 
Return XX

我想如果第一个IF 成立的话,就直接return XX ,这样可以减少IF 执行次数,这样可以吗

IF A=123
 BEGIN
 SET XX=1 

Return XX
 END 
------解决方案--------------------
不行,函数末句必须return 。
可以用 if else 实现 ,
或者
declare @i int
set @i= case when 1=2 then 1 when 2=2 then 2 else 3 end
return @i
这样子。
------解决方案--------------------
用 if else 可以实现 
例如:
IF A=123
  BEGIN
  SET XX=1 
  END

ELSE IF A=456
  BEGIN
  SET XX=1 
  END  
 .....

最后一句 
Return XX