У меня есть две таблицы, и мне нужно создать пакет SSIS «задача потока данных»

Таблица A и таблица B, мне нужно создать пакет SSIS, который всегда вставляет данные, которых нет в таблице B, из таблицы A в таблицу B (на основе badgeno в A и badgeno_ID в B). какие мысли и помогает плз?

CREATE TABLE [dbo].[A](
    [firstname] [nvarchar](100) NULL,
    [mobile] [nvarchar](50) NULL,
    [note] [nvarchar](500) NULL,
    [city] [nvarchar](255) NULL,
    [badgeno] [nvarchar](50) NULL,
    [lastname] [nvarchar](100) NULL
) ON [PRIMARY]

GO



CREATE TABLE [dbo].[B](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [FirstName] [nvarchar](100) NULL,
    [LastName] [nvarchar](100) NULL,
    [DateOfBirth] [datetime] NULL,
    [FirmID] [int] NULL,
    [Phone] [varchar](50) NULL,
    [Mobile] [varchar](50) NULL,
    [EMail] [nvarchar](100) NULL,
    [EmployeeNr] [nvarchar](10) NULL,
    [Note] [nvarchar](500) NULL,
    [PhonePrivate] [varchar](50) NULL,
    [StreetAddress] [nvarchar](255) NULL,
    [Zip] [nvarchar](20) NULL,
    [City] [nvarchar](255) NULL,
    [Data] [nvarchar](500) NULL,
    [UserName] [nvarchar](50) NULL,
    [Password] [nvarchar](50) NULL,
    [ADGUID] [nvarchar](50) NULL,
    [Language] [nvarchar](50) NULL,
    [Theme] [nvarchar](30) NULL,
    [DefaultZone] [int] NULL,
    [Bed] [nvarchar](50) NULL,
    [badgeNO_ID] [nvarchar](50) NULL,
    [RegisteredBy] [nvarchar](50) NOT NULL,
    [Registered] [datetime] NOT NULL,
    [LastUpdatedBy] [nvarchar](50) NOT NULL,
    [LastUpdated] [datetime] NOT NULL,
    [DefaultView] [nvarchar](50) NULL,
    [ExpandTagList] [bit] NULL,
    [PrintEmergencyReport] [bit] NULL,
    [EmergencyReportPath] [nvarchar](255) NULL)
0
osama 9 Ноя 2014 в 15:44

2 ответа

Лучший ответ

Перетащите Execute Sql Task и поместите туда следующий запрос t-sql. Работа гуден.

INSERT INTO [dbo].[B] 
                  ([firstname] , [mobile], [note], [City], [badgeNO_ID] , [LastName])
SELECT [A].[firstname] 
     , [A].[mobile]
     , [A].[note]
     , [A].[City]
     , [A].[badgeno] 
     , [A].[LastName]
FROM [dbo].[A] 
WHERE NOT EXISTS (SELECT 1 
                  FROM [dbo].[B]
                  WHERE [dbo].[A].[badgeno] = [dbo].[B].[badgeNO_ID])
0
M.Ali 9 Ноя 2014 в 13:52

Используйте преобразование поиска SSIS с выводом «Нет совпадений»

http://msdn.microsoft.com/en-us/library/ms141821.aspx

https://www.simple-talk.com/sql/ssis/implementing-lookup-logic-in-sql-server-integration-services/

0
Brad D 9 Ноя 2014 в 17:33