WEB开发网
开发学院数据库MSSQL Server 怎样执行SQL Server集成服务(SSIS)中的批处理 阅读

怎样执行SQL Server集成服务(SSIS)中的批处理

 2008-10-08 10:08:20 来源:WEB开发网   
核心提示: 在Get Batch List中执行的这个存储过程返回一个具有两个字段的结果集——OrderYear和OrderMonth,变量匹配属性页将结果集中每条记录的字段匹配到基于字段顺序位置的包变量(第一个字段为0),怎样执行SQL Server集成服务(SSIS)中的批

怎样执行SQL Server集成服务(SSIS)中的批处理

在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

上一页  1 2 3 4 5  下一页

Tags:怎样 执行 SQL

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接