2011-09-29 137 views
0

我有一个带有if-else语句的存储过程。我有一个场景,我需要一个需要,如果其他语句内else语句。我已经在c#中完成了这一点,但我需要它在SQL Server中,因为我几乎是新的存储过程。 lemme为u ppl提供了一个样本片段。提前if else嵌套在存储过程中

create procedure [dbo].[usp_getstore_details](@input varchar(100)) 
as 
begin 
    declare @out varchar(100) 
    declare @result int 

    if(LEN(@input)=2) 
     begin 
      --select statement here. 
     end 
    else if (@input like '%[0-9]%') 
     begin 
      --select statement here 
     end 
    else 
     begin 
      set @result=(len(@input) - len(replace(@input, ',', '')) 
      if(@result>1) 
       begin 
        --select statement here 
       end 
      else 
       begin 
        --select statement here 
       end 
     end 
end 

感谢乌拉圭回合的帮助

+0

除了一个太多'('本声明'设置@结果=(LEN(@input) - LEN(替代(@input“ ,'''))''看起来不错,改成'set @ result = len(@input) - len(replace(@input,',',''))'。在'begin ... end'中有一个注释,但是我猜你实际上有一些代码在那里。 –

+0

s当然,我有一个select语句取决于条件 –

+1

好的。那么问题是什么? –

回答

0
CREATE PROCEDURE [dbo].[usp_getstore_details] 
@input VARCHAR(100) 
AS 
BEGIN 
    DECLARE @out VARCHAR(100) 
    DECLARE @result INT 

    IF LEN(@input) = 2 
    BEGIN 
     --select statement here. 
    END 
    ELSE IF @input LIKE '%[0-9]%' 
    BEGIN 
     --select statement here 
    END 
    ELSE 
    BEGIN 
     SET @result = LEN(@input) - LEN(REPLACE(@input, ',', '')) 
     IF @result > 1 
     BEGIN 
      --select statement here 
     END 
     ELSE 
     BEGIN 
      --select statement here 
     END 
    END 
END