SQL Server2005µÄXMLÊý¾ÝÀàÐÍÖ®»ù´¡Æª1
Ò»¡¢ÒýÑÔ
Èç½ñ£¬ÔÚSQL Server 2005ÖУ¬XML³ÉΪµÚÒ»Á÷µÄÊý¾ÝÀàÐÍ¡£½èÖúÓÚ»ùÓÚXMLģʽµÄÇ¿ÀàÐÍ»¯Ö§³ÖºÍ»ùÓÚ·þÎñÆ÷¶ËµÄXMLÊý¾ÝУÑ鹦ÄÜ£¬ÏÖÔÚ
£¬¿ª·¢Õß¿ÉÒÔ¶Ô´æ´¢µÄXMLÎĵµ½øÐÐÇáËɵØÔ¶³ÌÐ޸ġ£×÷ΪÊý¾Ý¿â¿ª·¢Õߣ¬Ðí¶àÈ˶¼±ØÐë´óÁ¿µØÉæ¼°XML¡£
Èç½ñ£¬ÔÚSQL Server 2005ÖУ¬ÄãÄÜÒÔÒ»ÖÖеÄÊý¾ÝÀàÐ͵ÄÐÎʽ°ÑXML´æ´¢ÔÚÊý¾Ý¿âÖС£
ÊÂʵÉÏ£¬ÔÚSQL Server 2000ÖоÍÒѾ°üÀ¨ÁËһЩXMLÌØÕ÷¡£ÆäÖУ¬×î¹Ø¼üµÄÌØÕ÷ÊÇʹÓÃFOR XMLÓï¾äÒÔXMLÐÎʽ·µ»Ø½á¹û¡£SQL Server 2005
µÄ¹¦ÄÜÔòÃ÷ÏÔ²»Í¬¡£ÔÚSQL Server 2005ÖУ¬XMLÊÇÒ»ÖÖÕæÕýµÄÊý¾ÝÀàÐÍ£»ÕâÒâζ×Å£¬Äã¿ÉÒÔʹÓÃXML×÷Ϊ±íºÍÊÓͼÖеÄÁУ¬XML¿ÉÒÔÓÃÓÚT-SQLÓï
¾äÖлò×÷Ϊ´æ´¢¹ý³ÌµÄ²ÎÊý¡£ÏÖÔÚ£¬Äã¿ÉÒÔÖ±½ÓÔÚÊý¾Ý¿âÖд洢¡¢²éѯºÍ¹ÜÀíXMLÎļþ¡£
¸üÖØÒªµÄÊÇ£¬ÏÖÔÚÄ㻹Äܹ涨ÄãµÄXML±ØÐë×ñ´ÓµÄģʽ¡£
ÔÚSQL Server 2005ÖУ¬³ýÁËÌṩ»úÖÆÒÔУÑéÄãµÄÊý¾Ý¿âÖеÄXMLÀàÐÍÖ®Í⣬Ëü»¹ÔÊÐíÄãÃèÊöÒª±»´æ´¢µÄ¸´ÔÓÊý¾ÝÀàÐͲ¢ÇÒÌṩһ¸öÒýÇæÀ´
Ç¿ÖÆÊ©¼ÓÕâЩ¹æÔò¡£
¶þ¡¢Ê¹ÓÃXMLÊý¾ÝÀàÐÍ
Æäʵ£¬XMLÊý¾ÝÀàÐÍÓëSQL ServerÖÐµÄÆäËüÊý¾ÝÀàÐͲ¢²»´æÔÚ¸ù±¾µÄÇø±ð¡£Äã¿ÉÒÔ°ÑËüÓÃÔÚʹÓÃÈÎºÎÆÕͨSQLÊý¾ÝÀàÐ͵ĵط½¡£ÀýÈ磬ÏÂÁÐ
Óï¾ä´´½¨Ò»¸öXML±äÁ¿²¢ÓÃÒ»¸öXMLÌî³äËü£º
DECLARE @doc XML
SELECT @doc = '£¼Team name="Braves" /£¾'
ÁíÍ⣬Ä㻹¿ÉÒÔʹÓÃÒ»¸ö²éѯºÍSQL ServerµÄFOR XMLÓï·¨À´Ìî³äÒ»¸öXML±äÁ¿£º
SELECT @doc =
(SELECT * from Person.Contact FOR XML AUTO)
XMLÊý¾ÝÀàÐͲ»½ö¿ÉÒÔ×÷Ϊ±äÁ¿Ê¹Óã¬Ò²¿ÉÒÔÓ¦ÓÃÓÚ±íÁÐÖС£Ä㻹ÄÜ·ÖÅäȱʡֵ²¢ÇÒÖ§³ÖNOT NULLÔ¼Êø£º
ÒÔÏÂΪÒýÓõÄÄÚÈÝ£º
CREATE TABLE Team
(
TeamID int identity not null£¬
TeamDoc XML DEFAULT '£¼Team /£¾' NOT NULL
)
×¢Ò⣺SQL Server 2005µÄXML¹¦ÄÜÓëSQL Server 2000ÖоßÓÐÃ÷ÏԵIJ»Í¬¡£
°ÑXMLÊý¾Ý²åÈëµ½±í¸ñÖÐÖ»ÐèÒªÓÃ×Ö·û´®ÐÎʽµÄXMLÖ¸¶¨¼´¿É¡£
ÏÂÁÐʾÀý²åÈëÒ»×é¼Ç¼£º
ÒÔÏÂΪÒýÓõÄÄÚÈÝ£º
INSERT INTO Team (TeamDoc)
VALUES ('
£¼Team name="Braves"£¾
£¼Players£¾
£¼Pitcher name="John Smoltz"
role="Closer"/£¾
£¼/Players£¾
£¼/Team£¾');
INSERT INTO Team (TeamDoc)
VALUES ('
£¼Team name="Red Sox"£¾
£¼Players£¾
£¼Pitcher name="Petro Martinez"
role="Starter"/£¾
£¼/Players£¾
£¼/Team£¾');
µ±ÔÚSQL Server 2005Öд´½¨XMLµÄʵÀýʱ£¬Î¨Ò»µÄת»»ÊÇ´ÓÒ»¸ö×Ö·û´®×ª»»³ÉÒ»¸öXMLÀàÐÍ¡£Í¬Ñù£¬ÑØ×ÅÏà·´µÄ·½
Ïà¹ØÎĵµ£º
´ó¼ÒÓ¦¸Ã¶¼ä¯ÀÀ¹ýºÜ¶àflashÕûÕ¾Ô´Â룬flash½áºÏxml´ïµ½Ò»¸ö¶¯Ì¬ÐÞ¸ÄflashÊä³öÄÚÈݵÄЧ¹û£¬ÓÃflashÀ´ÌåÏÖÒ»¸öÍøÕ¾£¬²¢ÇÒÄܼòµ¥µÄ¶¯Ì¬¸üУ¬´ó¶¼ÕâЩԴÂëÊÇÀÏÍâ·Å³öÀ´µÄ£¬ÔÚÊäÈëÊä³ö·½Ã棬¼¸ºõ¶ÔÖÐÎͼ²»Ö§³Ö£¬ºÜ¶àºÜìŵÄЧ¹û
ÎÒÃÇÈÏʶ·½¿é×ÖµÄÈ˶¼Óò»ÁË£¨Í»È»¸ÐÎò£¬¼ÆËã»ú´øÀ´µÄ¿Æ¼¼¸ïÃü£¬ÎªÊ²Ã´²»»áÊÇÖйúÈËÄØ£¿¶øÊÇÖ»Ó ......
select * from tableName where datediff(week,dateField,getdate())=0
ÕâÑù²é³öÀ´µÄ½á¹ûÊÇ´ÓÐÇÆÚÌìµ½ÐÇÆÚÁù(ÀÏÍâĬÈÏÐÇÆÚÌìÊÇÒ»ÖܵĵÚÒ»Ìì).
Èç¹ûÏëÒÔÐÇÆÚÒ»×÷ΪµÚÒ»ÌìµÄ»°,Á½¸öʱ¼ä¶¼ÐèÒª¼õÒ»,ÈçÏÂ:
select * from tableName where datediff(week,dateField-1,getdate()-1)=0 ......
ÒªÖªµÀ´Ó¸ù½ÚµãÒ»Ö±ÏÂÀ´µÄÏà¶Ô·¾¶²ÅÄÜÈ·¶¨XpathµÄд·¨¡£
/root/<½Úµã1>/<½Úµã2>//<@ÊôÐÔ>
XpathÊǹ¦ÄܺÜÇ¿´óµÄ£¬µ«ÊÇÒ²ÊÇÏà¶Ô±È½Ï¸´ÔÓµÄÒ»Ãż¼Êõ£¬×îºÃ»¹Êǵ½²©¿ÍÔ°ÉÏÃæÈ¥×¨ÃÅÕÒһЩרҵµÄÌû×ÓÀ´¿´Ò»¿´£¬ÏÂÃæÊÇһЩ¼òµ¥µÄXpathÓï·¨ºÍÒ»¸öʵÀý£¬Ìṩ¸øÄã²Î¿¼Ò»ÏÂ
<?xml version="1.0" encoding="IS ......
SQL Server 2005Éý¼¶µÄ10¸öÀíÓÉ
¡¡ºÜ¶àÈ˹ØÐĵĺ͵£ÐĵͼÊÇ SQL Server 2005 Ïà¶ÔËüµÄǰ°æ±¾SQL Server 2000Ëù×öµÄÖØ´ó¸Ä½ø»òÐÂÔö¹¦ÄÜ¡£ÔÚÎÒÉý¼¶µ½SQL2005Ö®ºó£¬²»µÃ²»ËµµÄ£ºÄãÒ²ÖµµÃÓµÓС£(Ì×ÓÃÒ»¾ä¹ã¸æÓºÇºÇ)
¡¡¡¡ÎÒ×ܽáÁËһϸöÈËÈÏΪSQL Server 2005 ÖÐ×îÖµµÃÄãΪ֮Éý¼¶µÄ10 ¸öÀíÓÉ¡£ÎÞÂÛÄãÊÇÏëÁ˽â»òѧϰSQL Se ......