没有这个结构,只能用if if @inputno='1' select * from tbl1 if @inputno='2' select * from tbl2 ......
当然有了! 简单 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 有空看看帮助!! ^_^
to d2chaofan(垃圾) 我早看了帮助,觉得用CASE函数不太对路,你帮我用CASE函数改一改我的存储过程!
唉,为什么连Yang_(扬帆破浪)都没有办法???
没有,赫赫不过你这种特例有办法解决 declare @tablename varchar(10) select @tablename=case @inputno when '1' then 'tab1' when '2' then 'tab2' end exec('select * from ' + @tablename)
case @inputno when '1' then select * from tbl1 when '2' then select * from tbl2 end case 好象是上面这样写的,不过你可在sql server中查一下帮助就行了
if @inputno='1'
select * from tbl1
if @inputno='2'
select * from tbl2
......
简单 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
有空看看帮助!!
^_^
我早看了帮助,觉得用CASE函数不太对路,你帮我用CASE函数改一改我的存储过程!
declare @tablename varchar(10)
select @tablename=case @inputno
when '1' then 'tab1'
when '2' then 'tab2'
end
exec('select * from ' + @tablename)
when '2' then select * from tbl2
end case
好象是上面这样写的,不过你可在sql server中查一下帮助就行了
好象select语句中的表名不可以用变量,我曾经想把表名
作为参数没成功