gpt4 book ai didi

sql - 在 T-SQL 中组合存储过程和查询

转载 作者:行者123 更新时间:2023-12-02 02:58:44 27 4
gpt4 key购买 nike

如何在常规 SQL 查询中结合执行存储过程并使用其结果或参数?

例如,我想做如下的事情:

-- passing result of SELECT to SP
SELECT a, b FROM t
EXEC my_sp a, b

-- passing result of SP to INSERT
INSERT INTO t
EXEC my_sp a, b

等等

最佳答案

不,您需要使用临时表

create table #results (col1 int, col2 varchar(5) ...)

INSERT INTO #results
EXEC YourProcedure @parma...

然后你就可以加入了

SELECT
*
FROM YourTable y
JOIN #results r ON ...
....

如果您不知道该过程中的列和数据类型,您可以使用这个出色的答案:Insert results of a stored procedure into a temporary table

简而言之,它使用OPENROWSET 将存储过程执行到动态创建的#temp 表中,而无需命名和了解所有列的类型。

关于sql - 在 T-SQL 中组合存储过程和查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2563160/

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