2011-04-11 178 views
1

我有一些存儲過程將相同的一組數據(相同列)返回給用戶。所調用的存儲過程取決於某些條件。這些存儲過程相當密集,並由系統的每個用戶運行。我想創建存儲過程來調用這些過程中的每一個,並將數據存儲在單獨的表上。然後,我將每5分鐘運行一次這個新的存儲過程,讓用戶從新表中拉出。SQL:在存儲過程中使用存儲過程

T_OutboundCallList是一個與兩個存儲過程返回的列具有相同列的永久表。

我想要類似下面的內容,但是當我嘗試運行它時,它會持續運行,我必須停止該過程。

BEGIN 

TRUNCATE TABLE T_OutboundCallList 


INSERT T_OutboundCallList EXECUTE p_LeadVendor_GetCallsForCallList 

INSERT T_OutboundCallList EXECUTE p_CallLog_GetAbandonedCallsCallList 

END 

中的每一個程序(*呼叫清單)返回的通話清單的提出和我不希望他們進入了新表的順序(LeadVendor AbandonedCalls前調用)。我還需要在添加呼叫之前清除表格,因爲可能有新呼叫需要在列表中更高。

我沒有看到這個程序有問題嗎?

感謝, 布賴恩

回答

2

沒有看到在你的*呼叫清單特效代碼很難說您有什麼問題。您應該在嵌套過程中使用insert命令。您可以使用過程的結果來插入數據,但不像上面那樣。它使用OPENROWSET,我認爲你會比我建議的更好。

+0

感謝您的指導。我重寫了我的存儲過程以在每個嵌套存儲過程中執行插入,這非常有效。 – BrianKE 2011-04-14 14:09:24