如果我在存储过程里拼接SQL语句,如下:
select @value = count(*) from UserInfo where UserID = @ipUserID;
然后通过判断@value来进行下面的操作,我该如何去做,该如何拼接

解决方案 »

  1.   


    select @value = count(*) from UserInfo where UserID = @ipUserID; 
    if(@value = 0)
    begin
    end
    else
    begin
    end
      

  2.   


    if(@value = 0)
    begin
         ------你的处理
    end
    else
    begin
        ------你的处理end
      

  3.   

    是这样的,
    declare @sql = 'select'+ @value + '= count(*) from UserInfo where UserID = ' + @ipUserID; 
        exec (sql)
        if @value is not null
          begin      end其实我是不会拼接这个SQL语句字符串
      

  4.   

    这个用 SP_EXECESQL就行了,交给小F
      

  5.   

    是上面的语句我拼接的不对,导致得不到@value的值,然后,无法进行下面的操作
      

  6.   


    你是在过程内还是外?
     内部用SET @value =(select  count(*) from UserInfo where UserID = @ipUserID); 
    你想要的判断,,,外部
    declare @i int,@s nvarchar(1000)
    set @s=N'select  @i =count(*) from NUM 'exec sp_executesql @s,N'@i int output',@i output--此处输出参数要加上N
    select @i