根据SQL Server中的参数执行多个存储过程

问题描述:

我试图根据参数执行多个存储过程。我有一个存储过程调用5个存储过程。每个存储过程返回不同的结果集。根据SQL Server中的参数执行多个存储过程

作为参数,我要通过'Notes,Viewers,Editors,..etc'。基于这个列表,我需要执行并获取所有结果并将其返回。

目前我正在尝试的是如下;

  • 将参数作为表格行插入到临时表中。
  • 使用游标遍历表行并执行存储过程。
  • 光标里面我检查

    if @row = 'Editor' EXEC sp 1 
    else if @row = 'Viewers' EXEC sp 2 
    ... 
    ... 
    

在本次迭代我需要返回所有的结果结束。

所以我的问题是,这是最好的方式来完成它或有任何好的解决方案来迎合这些类型的操作。

+0

你能不能有条件地把'exec'变成一个临时表(或表值变量)然后返回? –

你就不能这样做:

if (@param like '%Editors%') exec sp1 
if (@param like '%Viewers%') exec sp2 

或者是值的顺序很重要?

+0

是的。订单很重要。需要确保我得到的结果与名称相关。例如“编辑器”我需要根据相关名称填充数据集。 – Aruna