有一个存储过程sp和一个表变量@tbl
Insert into @tbl
Exec sp
Run Code Online (Sandbox Code Playgroud)
以上工作原理很好.
我们更改了存储过程输出并添加了其他输出列.上面的insert语句失败,存储过程的第二个版本.
上面的SQL需要与版本1 sp和版本2一起使用sp
可以做些什么?
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))
)
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅此处.
| 归档时间: |
|
| 查看次数: |
110 次 |
| 最近记录: |