ºìÁªLinuxÃÅ»§
Linux°ïÖú

SQL Server 2008µÄÐÂÌØÐÔ¸ÅÊö£º¼¯³É·þÎñ

·¢²¼Ê±¼ä:2008-02-22 00:00:39À´Ô´:ºìÁª×÷Õß:Inesaleof
SSIS(SQL Server¼¯³É·þÎñ)ÊÇÒ»¸öǶÈëʽӦÓóÌÐò£¬ÓÃÓÚ¿ª·¢ºÍÖ´ÐÐETL(½âѹËõ¡¢×ª»»ºÍ¼ÓÔØ)°ü¡£SSIS´úÌæÁËSQL 2000µÄDTS¡£ÕûºÏ·þÎñ¹¦ÄܼȰüº¬ÁËʵÏÖ¼òµ¥µÄµ¼Èëµ¼³ö°üËù±ØÐèµÄWizardµ¼Ïò²å¼þ¡¢¹¤¾ßÒÔ¼°ÈÎÎñ£¬Ò²Óзdz£¸´ÔÓµÄÊý¾ÝÇåÀí¹¦ÄÜ¡£SQL Server 2008 SSISµÄ¹¦ÄÜÓкܴóµÄ¸Ä½øºÍÔöÇ¿£¬±ÈÈçËüµÄÖ´ÐгÌÐòÄܹ»¸üºÃµØ²¢ÐÐÖ´ÐС£ÔÚSSIS 2005£¬Êý¾Ý¹ÜµÀ²»ÄÜ¿çÔ½Á½¸ö´¦ÀíÆ÷¡£¶øSSIS 2008Äܹ»ÔÚ¶à´¦ÀíÆ÷»úÆ÷ÉÏ¿çÔ½Á½¸ö´¦ÀíÆ÷ ¡£¶øÇÒËüÔÚ´¦Àí´ó¼þ°üÉÏÃæµÄÐÔÄܵõ½ÁËÌá¸ß¡£SSISÒýÇæ¸ü¼ÓÎȶ¨£¬ËøËÀÂʸüµÍ¡£

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);
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ