文档详情

Lookup的几种缓存模式.docx

发布:2017-05-24约7.13千字共25页下载文档
文本预览下载声明
 HYPERLINK /biwork/p/3296602.html 微软BI 之SSIS 系列 - Lookup 组件的使用与它的几种缓存模式 - Full Cache, Partial Cache, NO Cache 2013-09-04 20:28 by BIWORK, 1496 阅读, 13 评论,  HYPERLINK /biwork/p/3296602.html 收藏,  HYPERLINK /EditPosts.aspx?postid=3296602 编辑 开篇介绍 先简单的演示一下使用 Lookup 组件实现一个简单示例 - 从数据源表 A 中导出数据到目标数据表 B,如果 A 数据在 B 中不存在就插入新数据到B,如果存在就更新B 和 A 表数据保持统一。 随后再来解释在这个过程中使用到的一些术语,以及分析一下 Lookup 中出现的几种缓存模式,各自的特点以及常用的场合。 案例讲解 两张表,一张是目标表 DEMO_LK_Customer,一张是 DEMO_LK_LegacyCustomer? 旧系统表。我们可以理解我们这个示例要实现的目标是 DEMO_LK_Customer 表的数据要和DEMO_LK_LegacyCustomer?实现同步,保持一致。 USE BIWORK_SSIS GO -- Look up demo table IF OBJECT_ID(DEMO_LK_Customer,U) IS NOT NULL DROP TABLE DEMO_LK_Customer GO IF OBJECT_ID(DEMO_LK_LegacyCustomer,U) IS NOT NULL DROP TABLE DEMO_LK_LegacyCustomer GO CREATE TABLE DEMO_LK_Customer ( CustomerID INT PRIMARY KEY, CustomerCompany NVARCHAR(255), CustomerName NVARCHAR(20), CustomerAddress NVARCHAR(255) ) CREATE TABLE DEMO_LK_LegacyCustomer ( CustomerID INT PRIMARY KEY, CustomerCompany NVARCHAR(255), ContactName NVARCHAR(20), ContactTitle NVARCHAR(50), CustomerAddress NVARCHAR(255) ) INSERT INTO DEMO_LK_Customer VALUES (1,HFBZG,Allen,Michael,Obere Str. 0123), (2,MLTDN,Hassall, Mark,Avda. de la Constitución 5678), (3,KBUDE,Peoples, John,Mataderos 1000) INSERT INTO DEMO_LK_LegacyCustomer VALUES (1,NRZBB,Allen,Michael,Sales Representative,Obere Str. 0123), (2,MLTDN,Hassall, Mark,Owner,Avda. de la Constitución 5678), (3,KBUDE,Peoples, John,Owner,Mataderos 7890), (4,HFBZG,Arndt, Torsten,Sales Representative,7890 Hanover Sq.), (5,HGVLZ,Higginbotham, Tom,Order Administrator,Berguvsv?gen 5678) SELECT * FROM DEMO_LK_Customer SELECT * FROM DEMO_LK_LegacyCustomer --UPDATE DEMO_LK_Customer SET CustomerName = ?, CustomerCompany = ?, CustomerAddress = ? WHERE CustomerID = ? --UPDATE DEMO_LK_Customer SET CustomerName = ? WHERE CustomerID = ? --UPDATE DEMO_LK_Customer SET CustomerAddress = ? WHERE CustomerID = ? 在测试数据中,我们认为两张表的 ID 都是不变的唯一的,第1条数据和第
显示全部
相似文档