2011-04-11 180 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