2012-03-06 144 views
0

我想創建一個新的存儲過程來填充具有4列(時間戳,業務單位,名稱,值)的表格。在這個新的存儲過程中,我需要創建一個循環遍歷業務單元的遊標,並在每個循環中使用參數執行現有的存儲過程。使用現有存儲過程創建存儲過程以填充新表格

我已經提供了數據所在的.rdl文件。必須在SQL Server 2008 R2中使用時間戳創建歷史記錄表。尚未提供要爲其創建歷史表的基表。

+1

問題是一項工作要求。自己嘗試一下... – 2012-03-06 10:34:11

+2

當你試圖做到這一點 - 嘗試做到這一點**沒有**遊標.... – 2012-03-06 10:43:46

+0

@AnilSoman:我只是一個開始學習存儲過程的學生。我使用timestamp列創建了歷史記錄表並執行現有的存儲過程來填充此表。它給我以下錯誤:'消息213,級別16,狀態7,過程SP_KPI_Report,行15 列名稱或提供的值數量不匹配表定義'。 (P.s.從中提取數據的報告由6列組成) – Pankaj 2012-03-06 11:26:16

回答

0

存儲過程可以調用另一個存儲過程像這裏面:

SET @paramvalue = 'someValue' 
SET @SQLString = N'EXEC Myproc @param ' + @paramvalue 

EXEC sp_executesql @SQLString 

不知道你是否真的需要遊標,但要確保它是你使用的最後一個選項,因爲它配備了一個非常大的性能成本。

希望這會讓你開始。