首页 文章

如何通过一次只允许一个参数的存储过程传递SQL查询的多个结果

提问于
浏览
1

我正在运行SQL查询,我在表中搜索具有特定参数的所有ID . 对于这个例子,我们称之为指示符=“已锁定” .

(样本数据)

所以我运行一个查询......

SELECT ID FROM tableOne WHERE Status = 'locked'

得到这个结果:

我现在需要将从此查询收集的所有结果传递到存储过程,该存储过程只允许我一次传入一个ID .

是否可以运行我的查询,作为此存储过程的参数?

而不是这个:

exec spDeleteLocked
     @id = 'X1234'
exec spDeleteLocked
     @id = 'G2321'
exec spDeleteLocked
     @id = 'L2312'

做这样的事情:

exec spDeleteLocked
    @id = 'SELECT ID FROM tableOne WHERE Status = 'locked'

If not :有没有办法让我一遍又一遍地将查询结果返回给存储过程?根据我的同学们的说法,这在SQL中是不可能的 .

1 回答

  • 0

    您可以将它们作为table valued parameter传递

    然后在查询中使用带有内部联接的TVP进行过滤 .

相关问题