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

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

 2008-10-08 10:08:20 来源:WEB开发网   
核心提示: Mark Batch as Processed(将批处理标记为处理过的)是一个Execute SQL任务,它更新源表中的记录以显示它们已经处理过了,怎样执行SQL Server集成服务(SSIS)中的批处理(2),在下面的章节中,我们将详细讨论SSIS包中的每个步骤,它将源数据分组进批处理

Mark Batch as Processed(将批处理标记为处理过的)是一个Execute SQL任务,它更新源表中的记录以显示它们已经处理过了。

在下面的章节中,我们将详细讨论SSIS包中的每个步骤。从建立开始,然后逐步介绍。

建立

为了简便,我们将从SQL Server 2005自带的AdventureWorks示例数据库获得我们的源数据。使用下面的脚本将AdventureWorks的SalesOrderHeader和SalesOrderDetail表复制到一个叫做mssqltips的数据库(如果它不存在,那么创建这个数据库)中:

  USEmssqltips
  GO
  SELECT*
  INTOdbo.imp_SalesOrderHeader
  FROMAdventureWorks.Sales.SalesOrderHeader
  SELECT*
  INTOdbo.imp_SalesOrderDetail
  FROMAdventureWorks.Sales.SalesOrderDetail
  ALTERTABLEdbo.imp_SalesOrderHeader
  ADDProcessedbitnotnulldefault0
  GO

当记录被处理后,Processed字段将更新为1。

在SSIS包中,下面的变量将被使用:

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

我们将在下面的章节中描述变量的用法。

Get Batch List(获得批处理列表)

Get Batch List执行一个存储过程,它将源数据分组进批处理中。有很多方法来完成这个任务,在这个例子中,我们简单地在存储过程stp_CreateOrderBatchList中按照年和月份来分组:

  SELECT
  DATEPART(YYYY,OrderDate)OrderYear
  ,DATEPART(MONTH,OrderDate)OrderMonth
  FROMdbo.imp_SalesOrderHeader
  WHEREProcessed=0
  GROUPBY
  DATEPART(YYYY,OrderDate)
  ,DATEPART(MONTH,OrderDate)
  ORDERBY
  DATEPART(YYYY,OrderDate)
  ,DATEPART(MONTH,OrderDate)

上一页  1 2 3 4 5  下一页

Tags:怎样 执行 SQL

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