ÔÚSQL ServerÖÐÓÃXQuery·Ö½âXMLÊý¾Ý
¡¡¡¡±¾ÎÄÌÖÂÛSQL Server 2005µÄй¦ÄÜ£¬ËüÔÊÐíÄ㽫XMLÊý¾Ý·Ö½âµ½¹Øϵ¸ñʽÖУ¬¶ø²»±ØºÄÓÃÌ«¶àÄÚ´æ¡£
¡¡¡¡±¾ÎÄÌÖÂÛSQL Server 2005µÄй¦ÄÜ£¬ËüÔÊÐíÄ㽫XMLÊý¾Ý·Ö½âµ½¹Øϵ¸ñʽÖУ¬¶ø²»±ØºÄÓÃÌ«¶àÄÚ´æ¡£
¡¡¡¡ÔÚ¾ÙÀý˵Ã÷ÈçºÎ·Ö½âÉÏһƪÎÄÕÂÖеÄÊý¾Ýʱ£¬ÎÒÃÇÊ×ÏÈÁ˽âÒ»ÏÂXQueryºÍËüÔÚSQL Server 2005ÖÐΪ¿ª·¢ÕßÌṩµÄ¹¦ÄÜ¡£
¡¡¡¡XQuery½éÉÜ
¡¡¡¡XQuery£¬Ò²³Æ×÷XML Query£¬ÊÇÒ»ÖÖ²éѯXMLÊý¾ÝµÄÓïÑÔ£¬ÔÊÐíÄãÌáÈ¡ËùÐèµÄ½ÚµãºÍÔªËØ¡£ËüÓÉW3C¶¨Ò壬¿ÉÓÃÓÚ½ñÌìµÄ´ó¶àÊýÖ÷Á÷Êý¾Ý¿âÒýÇæÖУ¬ÈçOracle¡¢DB2ºÍSQL Server¡£
¡¡¡¡SQL Server 2005 XQueryº¯Êý
¡¡¡¡ÏÂÃæµÄËĸöº¯ÊýÊÇSQL Server 2005ÖеÄXQueryº¯Êý¡£(×¢Ò⣬XML¡¢XQueryÓï¾äºÍÏÂÃæµÄº¯Êý¶¼Çø·Ö´óСд¡£ÀýÈ磬SQL±àÒëÆ÷½ÓÊÜXMLÊý¾ÝÖеÄ.exist£¬µ«¾Ü¾ø.EXIST»ò.Exist¡£)
¡¡¡¡xml.exist
¡¡¡¡Õâ¸ö·½·¨¸ù¾ÝÒ»¸öXML½ÚµãÉϵÄËÑË÷±í´ïʽ·µ»ØÒ»¸ö²¼¶ûÖµ¡£ÀýÈ磬ÁбíAÖÐXML´úÂëƬ¶ÎÖеÄÓï¾ä½«·µ»Ø1(Õæ)£º
¡¡¡¡SELECT @x.exist('/christmaslist/person[@gift = "socks"]')
¡¡¡¡Õâ¸öÓï¾ä·µ»Ø0(¼Ù)£º
¡¡¡¡SELECT @x. exist ('/christmaslist/zach')
¡¡¡¡ÓÉÓÚ“Socks”Ò»´Ê±»·âÌ×£¬Õâ¸öÓï¾ä½«·µ»Ø0(¼Ù)¡£
¡¡¡¡SELECT @x.exist('/christmaslist/person[@gift = "socks"]')
¡¡¡¡xml.value
¡¡¡¡Õâ¸ö·½·¨½ÓÊÜÒ»¸öXQueryÓï¾ä²¢·µ»ØÒ»¸öµ¥¶ÀÖµ¡£Ê¹ÓÃÁбíAÖÐͬÑùµÄXML´úÂëƬ¶Î£¬²»¿ÉÒÔʹÓÃVALUEº¯ÊýÉú³É“betty”Öµ£¬ÈçÏÂËùʾ£º
¡¡¡¡SELECT @x.value('/christmaslist[1]/person[1]/@name', 'VARCHAR(20)')
¡¡¡¡¶øXQueryÉú³É“zach”Öµ¡£
¡¡¡¡SELECT @x.value('/christmaslist[1]/person[2]/@name', 'VARCHAR(20)')
¡¡¡¡xml.query
¡¡¡¡Õâ¸ö·½·¨½ÓÊÜÒ»¸öXQuery²¢·µ»ØÒ»¸öXMLÊý¾ÝÀàÐ͵ÄʵÀý¡£¿ÉÒÔ°´ÐèÒª½«ÕâЩ²éѯ¼òµ¥»ò¸´ÔÓ»¯£¬ÏÂÃæÊÇÒ»¸ö¼òµ¥µÄÀý×Ó£º
¡¡¡¡SELECT @x.query('/christmaslist/person')
¡¡¡¡Ëü·µ»ØXMLÎļþ£º
<person name="betty" gift="camera" />
<person name="zach" gift="elmo doll" />
<person name="brad" gift="socks" />
xml.nodes
¡¡¡¡ÔÚÄãÐèÒª½«Ò»¸öXMLÊý¾ÝÀàÐͱäÁ¿ÖеÄÊý¾Ý·Ö½âµ½¹ØϵÊý¾ÝÖÐʱ£¬Õâ¸ö·½·¨Ê®·ÖÓÐÓá£Õâ¸ö·½·¨½ÓÊÜÒ»¸öXQueryÓï¾ä×÷Ϊ²ÎÊý£¬²¢·µ»ØÒ»¸ö°üº¬XML±äÁ¿Âß¼±êÁ¿Êý¾ÝµÄÐм¯¡£ÁбíBÖеIJéѯÀûÓÃÉÏÃ涨ÒåµÄXML±äÁ¿£¬²¢½«Êý¾Ý·Ö½
Ïà¹ØÎĵµ£º
XMLÐòÁл¯Óë·´ÐòÁл¯ ÕûÀíÎĵµ
XMLÐòÁл¯Óë·´ÐòÁл¯
// OBJECT -> XML
public static void SaveXml(string filePath, object obj) { SaveXml(filePath, obj, obj.GetType()); }
public static void SaveXml(string filePath, object obj, System.Type ty ......
ºÜ¶àÈ˶ÔXpath¿ÉÄܱȽÏÊìϤ£¬µ«²»ÖªµÀÓÐûÓÐÖ±½Ó²Ù×÷¹ýÊý¾Ý¿â£¬ÎÒÃǶ¼ÖªµÀ ÔÚSql2005À﹫֧³ÖµÄ¼¸ÖÖ²éѯÓÐRaw£¬Auto£¬PathģʽµÈ£¬Èç¹ûÔÚ2000ÀïʹÓùý PathģʽµÄÅóÓÑÓ¦¸ÃÖªµÀ£¬ÊDz»ÈÝÒ×´¦Àí²éѯ½á¹ûµÄ£¬ÄÇôÔÚ2005Àï¶ÔÕâÒ»¿é×öÁ˺ܺõÄÌáÉý
ÎÒÏÈÀ´½éÉÜÒ»ÏÂʲôÊÇSql¡¡F ......
ÒÔÏÂÊǵÚһƪ£º
/*--±È½ÏÁ½¸öÊý¾Ý¿âµÄ±í½á¹¹²îÒì
--*/
/*--µ÷ÓÃʾÀý
exec p_comparestructure 'xzkh_model','xzkh_new'
--*/
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_comparestructure]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[p_comparestructure ......
½ñÌì·¢ÏÖÔÚʹÓÃPL/SQLʱ£¬ÎÞ·¨µÇ½¡£¾¹ýȺÀïÅóÓѵİï棬×îºóÔ²Âú½â¾ö£¬ÏÖÁô¸ö¼Ç¼ÒÔ±ãÒÔºó¿É²é¡£
<!--
/* Font Definitions */
@font-face
{font-family:ËÎÌå;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
......
-- To allow advanced options to be changed.
EXEC sp_configure 'show advanced options', 1
GO
-- To update the currently configured value for advanced options.
RECONFIGURE
GO
-- To enable the feature.
EXEC sp_configure 'CLR', 0
GO
-- To update the currently configured value for this feature.
......