SQL ´¥·¢Æ÷Ïê½â
´¥·¢³ÌÐò£¨trigger£©ÊÇÒ»ÖÖÌØÊâÐÍ̬µÄÔ¤´æ³ÌÐò£¬µ±ÄúʹÓÃInsert¡¢Update»òDeleteÃüÁîÀ´ÐÞ¸Ä×ÊÁÏÁÐʱ£¬Microsoft SQL Server»á×Ô¶¯Ö´ÐÐÄúËù¶¨ÒåµÄ´¥·¢³ÌÐò¡£
´¥·¢³ÌÐò£¨trigger£© ÊÇÒ»ÖÖÌØÊâµÄÔ¤´æ³ÌÐò£¬Ö´ÐÐÌØ¶¨µÄ³ÂÊöʽ£¨Update¡¢Insert »ò Delete£©¾Í¿ÉÒÔ啟¶¯´¥·¢³ÌÐò¡£´¥·¢³ÌÐòÓëÆäËûÔ¤´æ³ÌÐòÏàͬ£¬¿ÉÒÔÊÇÓɼòµ¥£¬Òà»òÊǸ´Ô T-SQL ³ÂÊöʽ×é³É£»ÖÁì¶ÓëÆäËûÔ¤´æ³ÌÐò²»Í¬µÄµØ·½£¬ÔòÔÚì¶µ±Ö¸¶¨µÄ×ÊÁϱ»Ð޸쬴¥·¢³ÌÐò¼´×Ô¶¯Ö´ÐУ¬ÎÞ·¨ÒÀÃû³ÆÒÔÊÖ¶¯Ö´ÐС£´¥·¢³ÌÐòÖ´ÐÐʱ£¬³Æ為´¥¶¯£¨fire£©¡£´¥·¢³ÌÐòË佨Á¢ÔÚÏÖÓеÄ×ÊÁÏ¿â×ÊÁϱíÖУ¬µ«Ëü¿ÉÒÔ´æÈ¡ÆäËû×ÊÁÏ¿âµÄ×ÊÁϱíºÍÎï¼þ¡£´¥·¢³ÌÐò²»Äܽ¨Á¢ÔÚÁÙʱµÄ×ÊÁϱí»òÁÙʱµÄϵͳ×ÊÁϱíÉÏ£¬Ö»Äܽ¨Á¢ÔÚʹÓÃÕß×Ô¶©×ÊÁϱí»ò×Ô¶©µÄ¼ìÊÓ±íÖС£Ö´Ðд¥·¢³ÌÐòËùÔÚµÄ×ÊÁϱí»ò¼ìÊÓ±í£¬³Æ為´¥·¢³ÌÐò×ÊÁÏ±í£¨trigger table£©¡£
´¥·¢³ÌÐòÓÐÎåÖÖÀàÐÍ£ºUpdate¡¢Insert¡¢Delete¡¢INSTEAD OF ºÍ AFTER¡£ÓÐÁË´¥·¢³ÌÐò£¬Ö»ÒªÄú¶Ô¸Ã±í¸ñ¸üС¢²åÈë»òɾ³ýʱ£¬¾Í»á´¥¶¯¶ÔÓ¦µÄ Update¡¢Insert »ò Delete ´¥·¢³ÌÐò¡£INSTEAD OF ºÍ AFTER ÊÇ SQL 2000 ÐÂÔöµÄÁ½Ïî´¥·¢³ÌÐò£¬Instead ofµÄÔÒåÊÇ¡¸È¡´ú¡¹£¬INSTEAD OF´¥·¢³ÌÐò»áÈ¡´ú²åÈë¡¢¸üкÍɾ³ý²Ù×÷¶øÖ´ÐС£AFTER ´¥·¢³ÌÐò»áÔÚ´¥·¢¶¯×÷Ö®ºóÔÙ´¥¶¯£¬¿ÉÊÓ為¿ØÖÆ´¥·¢³ÌÐò啟¶¯Ê±¼äµÄ»úÖÆ¡£
¶Ô×ÊÁϵĸüС¢²åÈ뼰ɾ³ý±»ÊÓ為×ÊÁÏÐÞ¸Äʼþ¡£Äú¿ÉÒÔÉè¼Æµ±Ò»Ïî»ò¶àÏîÐÞ¸Äʼþ產Éúʱ£¬¼´´¥¶¯´¥·¢³ÌÐò¡£ÀýÈ磬µ±Ö´ÐÐ Update »ò Insert ³ÂÊöʽʱ¼´´¥¶¯´¥·¢³ÌÐò¡£ÕâÖÖÀàÐ͵Ĵ¥·¢³ÌÐò³Æ為 Update/Insert ´¥·¢³ÌÐò¡£ÄúÒ²¿ÉÒÔ½¨Á¢ÈκÎÒ»ÏîÐÞ¸Äʼþ產Éúʱ£¬Ö´ÐÐÏà¶ÔµÄ Update/Insert/Delete ´¥·¢³ÌÐò¡£
ÏÂÃæÊǹØì¶´¥·¢³ÌÐòµÄһЩÆäËû¹æ¶¨£º
´¥·¢³ÌÐòÖ»ÔÚ´¥·¢ËüµÄ³ÂÊöʽÍê³ÉºóÖ´ÐС£¾ÙÀýÀ´Ëµ£¬Èç¹û Update ³ÂÊöʽ³É¹¦£¬Update ´¥·¢³ÌÐò²Å»á±»´¥¶¯¡£
¡¡
Èç¹û³ÂÊöʽÔÚ×ÊÁϱíÖÐÖ´ÐÐÎ¥·´Ìõ¼þÔ¼Êø»òÒýÆð´íÎ󣬴¥·¢³ÌÐò²»»á´¥¶¯¡£
¡¡
´¥·¢³ÌÐòÊÓ為µ¥Ò»½»Ò×ÖеÄÒ»²¿·Ý£¬Òò´Ë¿ÉÒÔÓÉÔ´¥·¢³ÌÐò復Ô½»Ò×£¬Èç¹ûÔÚ½»Ò×¹ý³ÌÖÐÕì²âµ½ÑÏÖØµÄ´íÎó£¨ÈçʹÓÃÕßÖжÏÁ¬Ïߣ©£¬Ôò»á×Ô¶¯復ÔÕû¸ö½»Òס£
Ïà¹ØÎĵµ£º
Çé¾°Ò»£º
±íÖÐÊý¾Ý
name score
aaa 11
aaa 19
bbb 12
bbb 18
ccc 19
ddd 21
ÆÚÍû²éѯ½á¹ûÈçÏÂ
name score
aaa 30
bbb   ......
ÔÚ¼ÆËã»úÖÐÊý¾ÝÓÐÁ½ÖÖÌØÕ÷£ºÀàÐͺͳ¤¶È¡£ËùνÊý¾ÝÀàÐ;ÍÊÇÒÔÊý¾ÝµÄ±íÏÖ·½Ê½ºÍ´æ´¢·½Ê½À´»®·ÖµÄÊý¾ÝµÄÖÖÀà¡£
ÔÚSQL Server ÖÐÿ¸ö±äÁ¿¡¢²ÎÊý¡¢±í´ïʽµÈ¶¼ÓÐÊý¾ÝÀàÐÍ¡£ÏµÍ³ÌṩµÄÊý¾ÝÀàÐÍ·ÖΪ¼¸´óÀ࣬Èç±í4-2 Ëùʾ¡£
ÆäÖУ¬BIGINT¡¢ SQL_VARIANT ºÍTABLE ÊÇSQL Server 2000 ÖÐÐ ......
£¨×¢Òâoffice2007µÄͬѧ°Ñprivider='Microsoft.Jet.OLEDB.4.0'¸ÄΪ'Microsoft.ACE.OLEDB.12.0'¡£¡£offiec2003Óë2007µÄÌṩÆ÷ÊDz»Ò»ÑùµÄ¡£¡££©
SQLÓï¾äµ¼Èëµ¼³ö´óÈ«[ÊÕ¼¯]
/******* µ¼³öµ½excel
EXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -
S"GNE ......
ºÍÊý¾Ý¿â´ò½»µÀҪƵ·±µØÓõ½SQLÓï¾ä£¬³ý·ÇÄãÊÇÈ«²¿Óÿؼþ°ó¶¨µÄ·½Ê½£¬µ«²ÉÓÿؼþ°ó¶¨µÄ·½Ê½´æÔÚ×ÅÁé»îÐԲЧÂʵ͡¢¹¦ÄÜÈõµÈµÈȱµã¡£Òò´Ë£¬´ó¶àÊýµÄ³ÌÐòÔ±¼«ÉÙ»ò½ÏÉÙÓÃÕâÖְ󶨵ķ½Ê½¡£¶ø²ÉÓ÷ǰ󶨷½Ê½Ê±Ðí¶à³ÌÐòÔ±´ó¶¼ºöÂÔÁ˶Ե¥ÒýºÅµÄÌØÊâ´¦Àí£¬Ò»µ©SQLÓï¾äµÄ²éѯÌõ¼þµÄ±äÁ¿Óе¥ÒýºÅ³öÏÖ£¬Êý¾Ý¿âÒýÇæ¾Í»á±¨´íÖ¸³öSQLÓ ......