SQL Server´¥·¢Æ÷´´½¨¡¢É¾³ý¡¢Ð޸ġ¢²é¿´Ê¾Àý½Ì³Ì
Ò»﹕
´¥·¢Æ÷ÊÇÒ»ÖÖÌØÊâµÄ´æ´¢¹ý³Ì﹐Ëü²»Äܱ»ÏÔʽµØµ÷ÓÃ﹐¶øÊÇÔÚÍù±íÖвåÈë¼Ç¼﹑¸üмǼ»òÕßɾ³ý¼Ç¼ʱ±»×Ô¶¯µØ¼¤»î¡£ËùÒÔ´¥·¢Æ÷¿ÉÒÔÓÃÀ´ÊµÏÖ¶Ô±íʵʩ¸´ÔÓµÄÍê
ÕûÐÔÔ¼`Êø¡£
¶þ﹕ SQL
ServerΪÿ¸ö´¥·¢Æ÷¶¼´´½¨ÁËÁ½¸öרÓñí﹕Inserted±íºÍDeleted±í¡£ÕâÁ½¸ö±íÓÉϵͳÀ´Î¬»¤﹐ËüÃÇ´æÔÚÓÚÄÚ´æÖжø²»ÊÇÔÚÊý¾Ý¿âÖС£ÕâÁ½¸ö
±íµÄ½á¹¹×ÜÊÇÓë±»¸Ã´¥·¢Æ÷×÷ÓõıíµÄ½á¹¹Ïàͬ¡£´¥·¢Æ÷Ö´ÐÐ Íê³Éºó﹐Óë¸Ã´¥·¢Æ÷Ïà¹ØµÄÕâÁ½¸ö±íÒ²±»É¾³ý¡£
Deleted±í´æ·ÅÓÉÓÚÖ´ÐÐDelete»òUpdateÓï¾ä¶øÒª´Ó±íÖÐɾ³ýµÄËùÓÐÐС£
Inserted±í´æ·ÅÓÉÓÚÖ´ÐÐInsert»òUpdateÓï¾ä¶øÒªÏò±íÖвåÈëµÄËùÓÐÐС£
Èý﹕Instead of ºÍ After´¥·¢Æ÷
SQL Server2000ÌṩÁËÁ½ÖÖ´¥·¢Æ÷﹕Instead of ºÍAfter ´¥·¢Æ÷¡£ÕâÁ½ÖÖ´¥·¢Æ÷µÄ²î±ðÔÚÓÚËûÃDZ»¼¤»îµÄͬ﹕
Instead of´¥·¢Æ÷ÓÃÓÚÌæ´úÒýÆð´¥·¢Æ÷Ö´ÐеÄT-SQLÓï¾ä¡£³ý±íÖ®Íâ﹐Instead of
´¥·¢Æ÷Ò²¿ÉÒÔÓÃÓÚÊÓͼ﹐ÓÃÀ´À©Õ¹ÊÓͼ¿ÉÒÔÖ§³ÖµÄ¸üвÙ×÷¡£
After´¥·¢Æ÷ÔÚÒ»¸öInsert,Update»òDeletedÓï¾äÖ®ºóÖ´ÐÐ﹐½øÐÐÔ¼Êø¼ì²éµÈ¶¯×÷¶¼ÔÚAfter´¥·¢Æ÷±»¼¤»î֮ǰ·¢Éú¡£After´¥
·¢Æ÷Ö»ÄÜÓÃÓÚ±í¡£
Ò»¸ö±í»òÊÓͼµÄÿһ¸öÐ޸͝×÷(insert,updateºÍdelete)¶¼¿ÉÒÔÓÐÒ»¸öinstead of
´¥·¢Æ÷﹐Ò»¸ö±íµÄÿ¸öÐ޸͝×÷¶¼¿ÉÒÔÓжà¸öAfter´¥·¢Æ÷¡£
ËÄ﹕´¥·¢Æ÷µÄÖ´Ðйý³Ì
Èç¹ûÒ»¸öInsert﹑update»òÕßdeleteÓï¾äÎ¥·´ÁËÔ¼Êø﹐ÄÇçÛAfter´¥·¢Æ÷²»»áÖ´ÐÐ﹐ÒòΪ¶ÔÔ¼ÊøµÄ¼ì²éÊÇÔÚAfter´¥·¢Æ÷±»¼¤¶¯Ö®Ç°·¢
ÉúµÄ¡£ËùÒÔAfter´¥·¢Æ÷²»Äܳ¬Ô½Ô¼Êø¡£
Instead of
´¥·¢Æ÷¿ÉÒÔÈ¡´ú¼¤·¢ËüµÄ²Ù×÷À´Ö´ÐС£ËüÔÚInserted±íºÍDeleted±í¸Õ¸Õ½¨Á¢﹐ÆäËüÈκβÙ×÷»¹Ã»Óз¢Éúʱ±»Ö´ÐС£ÒòΪInstead of
´¥·¢Æ÷ÔÚÔ¼ÊøÖ®Ç°Ö´ÐÐ﹐ËùÒÔËü¿ÉÒÔ¶ÔÔ¼Êø½øÐÐһЩԤ´¦Àí¡£
Îå﹕ʹÓÃT-SQLÓï¾äÀ´´´½¨´¥·¢Æ÷
»ù±¾Óï¾äÈçÏÂ﹕
create trigger t
Ïà¹ØÎĵµ£º
DECLARE @HDOC INT --Îĵµ¾ä±ú
DECLARE @XMLSTRING VARCHAR(200) --XML×Ö·û´®
SET @xmlString ='<?xml version="1.0"?>
<ROOT>
<USER ID="1" Name="SBQCEL"/>
<USER ID="2" Name="PEACELI"/>
<USER ID="3" Name="SHEEPCHANG"/>
</ROOT>'
--ʹÓÃϵͳ´æ´¢ ......
/*------------------------------------------------------------------
-- Author : htl258(Tony)
-- Date : 2010-04-15 22:07:01
-- Version: Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86)
Jul 9 2008 14:43:34
Copy ......
Êý¾Ý¿âÖ´ÐÐexec sp_renamedb 'oldname','newname'Óï¾ä£¬ÖØÃüÃûºó£¬½«Êý¾Ý¿â±¸·ÝÎļþ»¹Ôʱ£¬»á³öÏÖ´íÎó£¬Èçͼ
ÒòÊýÊý¾ÝÎļþÓëÊý¾Ý¿âÃû³Æ²»Ò»Ö¡£
½â¾ö·½·¨£º¿ÉÒÔÕÒµ½Êý¾ÝÎļþµÄÃû³Æ£¬½«Êý¾Ý¿â»¹ÔÃû³Æ¸úÊý¾Ý¿âÎļþÒ»ÖµÄÃû³Æ£¬´Ëʱ»¹Ô³É¹¦ºó£¬ÔÙÐÞ¸ÄÊý¾Ý¿âµÄÃû³Æ¡£
×¢£ºÊý¾Ý¿âÖØÃüʱ£¬Ð轫SQL·þÎñÆ÷Í£Ö¹£¬ÖØÃüÃûºóÔÙÖØÐ ......
SQLÓï¾äÖеÄÈý¸ö¹Ø¼ü×Ö:MINUS(¼õÈ¥),INTERSECT(½»¼¯)ºÍUNION ALL(²¢¼¯);
¹ØÓÚ¼¯ºÏµÄ¸ÅÄî,ÖÐѧ¶¼Ó¦¸Ãѧ¹ý,¾Í²»¶à˵ÁË.ÕâÈý¸ö¹Ø¼ü×ÖÖ÷ÒªÊǶÔÊý¾Ý¿âµÄ²éѯ½á¹û½øÐвÙ×÷,ÕýÈçÆäÖÐÎĺ¬ÒåÒ»Ñù:Á½¸ö²éѯ,MINUSÊÇ´ÓµÚÒ»¸ö²éѯ½á¹û¼õÈ¥µÚ¶þ¸ö²éѯ½á¹û,Èç¹ûÓÐÏཻ²¿·Ö¾Í¼õÈ¥Ïཻ²¿·Ö;·ñÔòºÍµÚÒ»¸ö²éѯ½á¹ûûÓÐÇø±ð. INTERSECTÊÇÁ½¸ö² ......
´ÓÍøÂçÉÏÊÕ¹ÎÁËһЩ£¬ÒÔ±¸ºóÓÃ
create function fun_getPY(@str nvarchar(4000))
returns nvarchar(4000)
as
begin
declare @word nchar(1),@PY nvarchar(4000)
set @PY=''
while len(@str)>0
begin
set @word=left(@str,1)
--Èç¹û·Çºº×Ö×Ö·û£¬·µ»ØÔ×Ö·û
set @PY=@PY+(case when unicode(@word) b ......