- - PR -
SSISのタスクで重複主キーのデータのチェック方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-10-19 17:36
こんにちは。
SSISのタスクを使って、フラットファイルにあるレコードをチェックしようと思っています。 重複主キーのデータがあったら、エラーで終了させたいです。 USE [TEST] GO /****** Object: Table [dbo].[Table_2] Script Date: 10/17/2008 16:17:14 ******/ IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Table_2]') AND type in (N'U')) DROP TABLE [dbo].[Table_2] GO USE [TEST] GO /****** Object: Table [dbo].[Table_2] Script Date: 10/17/2008 16:17:14 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Table_2]') AND type in (N'U')) BEGIN CREATE TABLE [dbo].[Table_2]( [ID] [int] NOT NULL, [NAME] [nchar](10) COLLATE Japanese_CI_AS NULL, CONSTRAINT [PK_Table_2] PRIMARY KEY CLUSTERED ( [ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] END GO こう言ったテーブルがありますと… IDは主キーになります。 Sample Data: /******************* 1,AAAA 2,BBBB 3,CCCC 4,DDDD 2,EEEE *******************/ このフラットファイルに /******************* 1,AAAA 2,BBBB 3,CCCC 4,DDDD 2,EEEE *******************/ 2行目と5行目は同じ主キーになるため、DTSX実行するときに、キー違反のエラーになります。 やりたいこと: データベースのテーブルに入れる前に、同じ重複した主キーデータはあるかどうか、一回チェックしたいです。あった場合、エラーを起こして、SSIS処理を終了させたいです。 何かいい方法はありますでしょうか。SSIS勉強不足で、すみません。ご教授ください。 よろしくお願いいたします。 |
1