没有这个结构,只能用if
if @inputno='1'
        select * from tbl1
if @inputno='2'
        select * from tbl2
     ......

解决方案 »

  1.   

    没有这个结构,只能用if
    if @inputno='1'
            select * from tbl1
    if @inputno='2'
            select * from tbl2
         ......
      

  2.   

    当然有了!
    简单 CASE 函数:CASE input_expression
        WHEN when_expression THEN result_expression
            [ ...n ]
        [ 
            ELSE else_result_expression
        ENDCASE 搜索函数:CASE
        WHEN Boolean_expression THEN result_expression
            [ ...n ]
        [ 
            ELSE else_result_expression
        END
    有空看看帮助!!
    ^_^
      

  3.   

    to  d2chaofan(垃圾) 
    我早看了帮助,觉得用CASE函数不太对路,你帮我用CASE函数改一改我的存储过程!
      

  4.   

    唉,为什么连Yang_(扬帆破浪)都没有办法???
      

  5.   

    没有,赫赫不过你这种特例有办法解决
    declare @tablename varchar(10)
    select @tablename=case @inputno
    when '1' then 'tab1'
    when '2' then 'tab2'
    end
    exec('select * from ' + @tablename)
      

  6.   

    case @inputno when '1' then select * from tbl1
                  when '2' then select * from tbl2
    end case
    好象是上面这样写的,不过你可在sql server中查一下帮助就行了
      

  7.   

    不学无术:
    好象select语句中的表名不可以用变量,我曾经想把表名
    作为参数没成功
      

  8.   

    表名作变量可以,倒是用变量表需要在SQL SERVER2000下