gpt4 book ai didi

sql - 如何在没有游标的情况下迭代另一个存储过程中的存储过程结果?

转载 作者:行者123 更新时间:2023-12-02 14:59:26 24 4
gpt4 key购买 nike

我不确定这是否是我应该在 T-SQL 中执行的操作,并且我非常确定在这种情况下使用“迭代”一词是错误的,因为您永远不应该在 sql 中迭代任何内容。它应该是基于集合的操作,对吗?无论如何,这是场景:

我有一个存储过程,它返回许多唯一标识符(单列结果)。这些 id 是另一个表中记录的主键。我需要在该表中的所有相应记录上设置一个标志。

如何在不使用游标的情况下执行此操作?对于 SQL 专家来说应该是一件简单的事情!

最佳答案

这可能不是最有效的,但我会创建一个临时表来保存存储过程的结果,然后在与目标表的联接中使用它。例如:

CREATE TABLE #t (uniqueid int)
INSERT INTO #t EXEC p_YourStoredProc

UPDATE TargetTable
SET a.FlagColumn = 1
FROM TargetTable a JOIN #t b
ON a.uniqueid = b.uniqueid

DROP TABLE #t

关于sql - 如何在没有游标的情况下迭代另一个存储过程中的存储过程结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/149132/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com