Lookup¹¦ÄÜÒ²µÃµ½Á˸Ľø¡£LookupÊÇSSISÒ»¸ö³£ÓõĻñÈ¡Ïà¹ØÐÅÏ¢µÄ¹¦ÄÜ¡£±ÈÈç´ÓCustomerID²éÕÒCustomer Name£¬»ñÈ¡Êý¾Ý¼¯¡£LookupÔÚSSISÖкܳ£¼û£¬¶øÇÒ¿ÉÒÔ´¦ÀíÉϰÙÍòÐеÄÊý¾Ý¼¯£¬Òò´ËÐÔÄÜ¿ÉÄܺܲSQL 2008¶ÔLookupµÄÐÔÄÜ×÷³öºÜ´óµÄ¸Ä½ø£¬¶øÇÒÄܹ»´¦Àí²»Í¬µÄÊý¾ÝÔ´£¬°üÀ¨ ADO.NET£¬XML£¬OLEDBºÍÆäËûSSISѹËõ°ü¡£
SQL 2008¿ÉÒÔÖ´ÐÐTSQLµÄMERGEÃüÁî¡£ÓÃMERGEÃüÁֻÐèÒ»¸öÓï¾ä¾Í¿ÉÒÔ¶ÔÐнøÐÐ UPDATE¡¢INSERT»ò DELETE¡£ÏÂÃæµÄÀý×Ó¾ÍÊÇÈçºÎÓÃMERGEÃüÁîÀ´°ÑеÄInventory Item descriptions Áбí²åÈëÒÑÓеÄInventory MasterÖС£³ýÁË descriptions£¬ NewInventory±í¸ñÖл¹¼ÓÈëÁËÆäËûһЩ²¿·Ö¡£Èç¹ûûÓÐMERGEÓï¾ä£¬¾ÍÐèÒªÖ´ÐÐÁ½¸öÃüÁî²ÅÄÜÍê³É¡£µÚÒ»¸öÃüÁî²éÕÒÆ¥ÅäµÄDescriptionÈ»ºó¸üС£µÚ¶þ¸öÃüÁî²éÕÒ²»Æ¥ÅäÏîÈ»ºó²åÈë¡£ÓÐÁËMERGE£¬Ò»¸öÓï¾ä¾Í¿ÉÒÔÍê³ÉÕâÁ½¸öÈÎÎñ¡£²½ÖèÈçÏ£º
ÒýÓÃ:MERGE InventoryMaster AS im
USING (SELECT InventoryID, Descr FROM NewInventory) AS src
ON im. InventoryID = src. InventoryID
WHEN MATCHED THEN
UPDATE SET im.Descr = src.Descr
WHEN NOT MATCHED THEN
INSERT (InventoryID, Descr) VALUES (src. InventoryID, src.Descr);