2012-04-25 50 views
0

您好所有参数执行程序,TSQL:与有两个值

我想执行下列步骤:

EXECUTE MYDB.dbo.MYPROCEDURE 
     @gender='male', 
     @status='single' 

状态可以是单身,离婚或结婚。 我需要执行包含所有单身和离婚男性的程序。

何我能做到吗?

非常感谢

回答

1

做到这将是在改变你的存储过程为表值函数的最好方法。然后你可以调用它两次,然后联合所有结果得到一个结果集。另一种方法是直接调用存储过程两次并自己将结果添加到一起。

除非你是罚款得到两个结果回来(通过执行该语句两次),你将需要做出某种修改你的SQL语句。

0

这也不是没有可能改变过程的是不可能的。

一种选择是将值设置为singledivorced并具有以下WHERE条款:

WHERE [status][email protected] 
OR (@status='singledivorced' AND ([status]='single' or [status]='divorced'))