CREATE PROCEDURE [dbo].[test]
@ID int,
@case varchar(50)
AS
set nocount on
begin
    If @case = 'aaaa'
select a1,a2,a3 from t1 where ID = @ID    If @case = 'bbbb'
select v1,v2 from t2 where ID = @ID    If @case = 'cccc'
select b1,b2,b3,b4 from t3 where ID = @ID    ---.......
    ---执行的效果和上面一样,求更好的写法    ---就像vb语言中select case多开关条件语句的效果,在sql有没有更好的写法,因为用单个存储过程的话,它们输入参数个数、参数类型和返回结果集个数都相似,end
GO