CREATE PROCEDURE dbo.HaveSelectDataProcedure @ParamID int AS BEGIN DECLARE @TempTable Table ( ID int, SomeValue NVARCHAR(50) ) INSERT INTO @TempTable VALUES(@ParamID, 'ceshi1') INSERT INTO @TempTable VALUES(@ParamID, 'ceshi2') SELECT * FROM @TempTable END DECLARE @ParamID int --存儲過程參數 DECLARE @TempTable Table --定義一個與存儲過程返回結果結構一致的表變量,用於接受結果 ( ID int, SomeValue NVARCHAR(50) ) INSERT INTO @TempTable EXECUTE [dbo].[HaveSelectDataProcedure] --將返回結果插入表變量中 @ParamID = 1 SELECT * FROM @TempTable
注意: Insert into 語句不能嵌套用於存儲過程,即 存儲過程A內部中使用瞭如上的insert into來獲取另一個存儲過程B返回的集合 ,那麼不能再使用insert into 來獲取存儲過程A返回的集合
原文鏈接:https://blog.csdn.net/u013986317/article/details/102458918