怎样执行SQL Server集成服务(SSIS)中的批处理
2008-10-08 10:08:20 来源:WEB开发网在Get Batch List中执行的这个存储过程返回一个具有两个字段的结果集——OrderYear和OrderMonth。变量匹配属性页将结果集中每条记录的字段匹配到基于字段顺序位置的包变量(第一个字段为0)。
Transaction Container(事务容器)
Transaction Container是一个序列容器。这个容器中的任务都在一个事务中执行。它们或者都执行成功并被提交,或者出错后回滚。将序列容器的TransactionOption属性设置为Required(必需的);这个设置在一个事务环境中执行这个容器中所有的任务。在这个循环中每次都新创建一个事务。
Append Batch to Sales History(将批处理附加到销售历史)
Append Batch to Sales History是一个Execute SQL任务,它调用一个存储过程从源表提取一批数据并将它们附加到销售历史表中。如果需要转换,那么我们应该使用一个数据流任务。销售历史表和存储过程如下所示:
CREATETABLEdbo.SalesHistory(
OrderYearintnotnull,
OrderMonthintnotnull,
ProductIDintnotnull,
OrderQtysmallintnotnull,
LineTotalmoneynotnull
)
CREATEPROCEDUREdbo.stp_AppendSalesHistory
@OrderYearint
,@OrderMonthint
AS
BEGIN
SETNOCOUNTON;
INSERTINTOdbo.SalesHistory(
OrderYear
,OrderMonth
,ProductID
,OrderQty
,LineTotal
)
SELECT
DATEPART(YYYY,m.OrderDate)
,DATEPART(MONTH,m.OrderDate)
,d.ProductID
,d.OrderQty
,d.LineTotal
FROMdbo.imp_SalesOrderHeaderm
JOINdbo.imp_SalesOrderDetaildONd.SalesOrderID=m.SalesOrderID
WHEREProcessed=0
ANDDATEPART(YYYY,m.OrderDate)=@OrderYear
ANDDATEPART(MONTH,m.OrderDate)=@OrderMonth
END
GO
更多精彩
赞助商链接