gpt4 book ai didi

sql - 从不同版本的存储过程插入表

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

有一个存储过程sp和一个表变量@tbl

Insert into @tbl
Exec sp

上面的内容最初运行良好。

我们更改了存储过程输出并添加了额外的输出列。上面的插入语句因存储过程的第二个版本而失败。

以上SQL需要配合sp版本1和sp版本2使用

可以做什么?

SQL Server 不提供从 sp 输出插入时指定列名的选项

最佳答案

唯一的方法是使用 EXECUTE WITH RESULT SETS 来确定要从存储过程返回的确切列。这将使您可以选择指定要从存储过程输出中插入到表变量中的列名。

Insert into @tbl(col1, col2, col3) EXECUTE sp
WITH RESULT SETS (
(col1 INT,
col2 INT,
col3 nvarchar(50))
)

有关详细信息,请参阅 here .

关于sql - 从不同版本的存储过程插入表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25735064/

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