TSQL:执行带有两个值的参数的过程

时间:2012-04-25 12:06:01

标签: tsql stored-procedures parameters

大家好,

我想执行以下程序:

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

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

我可以这样做吗?

非常感谢

3 个答案:

答案 0 :(得分:1)

执行此操作的最佳方法是将存储过程更改为表值函数。然后你可以调用它两次和UNION ALL结果来获得一个结果集。另一种方法是只调用存储过程两次并自己将结果加在一起。

除非您可以获得两个结果集(通过执行两次语句),否则您需要对SQL语句进行某种修改。

答案 1 :(得分:0)

除非你重写程序

,否则这是不可能的

答案 2 :(得分:0)

如果不更改程序,则无法做到这一点。

一个选项是将值设置为singledivorced并具有以下WHERE子句:

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