存儲過程A接受存儲過程B返回的表數據
現在的難點是存儲過程B返回的表數據的列是未知的(我不知道具體有多少列)
但是在存儲過程A要接受表數據,先創建臨時表,
臨時表又必須先定義列,那在不知道列的情況下
怎么接受這個表數據有人會問,為什么會不知道列,因為用戶有可能查1個月或多個月的數據
而存儲過程B返回的數據是行轉列后的數據,就是用戶查詢一個月的數據,
存儲過程B就會把每一天轉成列,所以我不知掉具體有多少列

解决方案 »

  1.   

    在存储过程中可以这样select * into #tmp from然后在外面查询#tmp
      

  2.   

    select * from openrowset(..)
      

  3.   

    1樓的兄弟,不行SELECT * INTO #TMP FROM EXEC UP_SelectMPS @THISDEPARTMENTNAME,@THISEDITION系統提示#TMP 不存在
      

  4.   

    crete table #temp (a int,b int)
    insert into #temp exec sp_test#temp表结构要和存储过程返回的结构一样
      

  5.   


    -- =============================================
    -- Author: wkk
    -- Create date: 2009/04/17
    -- Description: 統計臺車數量
    -- =============================================
    ALTER PROCEDURE [dbo].[UP_SelectCartonCount]
    @THISDEPARTMENTNAME NVARCHAR(50),
    @THISEDITION INT
    AS
    BEGIN
    SET NOCOUNT ON;
    SELECT * INTO #TMP from EXEC UP_SelectMPS @THISDEPARTMENTNAME,@THISEDITION
    END
    編譯也通不過
    消息 156,级别 15,状态 1,过程 UP_SelectCartonCount,第 88 行
    接近關鍵字 'EXEC' 之處的語法不正確。
      

  6.   

    临时表建在UP_SelectMPS 这个过程里面。