if else嵌套在存储过程中

时间:2011-09-29 09:18:26

标签: database sql-server-2008 stored-procedures

我有一个if-else语句的存储过程。我有一个场景,我需要在else语句中需要if else语句。我已经在c#中完成了这个,但我需要它在sql server中,因为我对存储过程非常新。 lemme为u ppl提供了一个示例代码段。

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

提前感谢您的帮助

1 个答案:

答案 0 :(得分:1)

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