gpt4 book ai didi

sql - 调用存储过程在另一个存储过程中返回多个表结果

转载 作者:行者123 更新时间:2023-12-04 18:18:18 25 4
gpt4 key购买 nike

是否可以在返回多个表结果的另一个存储过程 (sp2) 中调用存储过程 (sp1)?

我必须在执行的存储过程(sp2)中使用返回的结果。

据我所知,这是不可能的。但我想确定。

有没有其他方法可以实现这种要求?

最佳答案

您可以使用 INSERT INTO <table> EXEC <sp>对于一个结果集。

但这不适用于多个结果集。

而且你不能嵌套它。 (SP2 在调用 SP1 时可以使用它。但如果 SP3 调用 SP2,则不能做同样的事情。)

如果您确实要返回多个结果集,则需要将结果插入表中。然后外部 SP 可以使用这些表。

如果外部 SP 创建了一个临时表 (CREATE TABLE #temp),那么内部 SP 可以看到它的插入。

同样,您可以使用永久表。我建议有一个名为 SPID 的列,并使用 @@spid 作为您插入其中的值。 (@@spid 唯一标识每个 session 。)但是您必须记住在插入表后进行清理。

所有这些选项都假定您可以修改两个 SP。如果不能,我不确定您是否可以在 SQL Server 中执行此操作。

关于sql - 调用存储过程在另一个存储过程中返回多个表结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11264554/

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