【发布时间】:2013-04-08 12:20:36
【问题描述】:
我想在 Sql Server 中创建一个存储过程,它调用多个不同存储过程之一并根据提供给它的参数选择哪一个,但我似乎无法正确选择语法。
目前正在尝试:
Begin
Set nocount on;
exec iif(param='individual', sp_FindIndividualRespondents,
iif(param='org', sp_FindOrgRespondents, sp_FindGroupRespondents))
End
这目前告诉我:'param' 附近的语法不正确。
我看过这里:conditional where clause based on a stored procedure parameter?,但我不知道如何更改该代码以适应我的情况。
如何为存储过程提供参数,然后使用它来选择和运行不同的存储过程?
【问题讨论】:
-
iif 在 SQL 2008 中不存在,即只有 SQL 2012。
-
所以我使用 2012 客户端和 2008 服务器会导致问题,你认为吗?
-
2008 服务器不支持它,但您可以使用 CASE 语句为您的逻辑完成此操作。
标签: sql-server sql-server-2008 stored-procedures