ʹÓÃXMLÔÚSQL ServerÉÏ´´½¨¼ÆËãÁÐ
¡¡ÔÚSQL ServerÊý¾Ý¿âÖУ¬µ±ÄãÏëʹÓÃÒ»¸öÊý¾Ý£¬¶øÕâ¸öÊý¾Ý²»±£´æÔÚ±íÖУ¬¼ÆËãÁкÜÓÐÓá£ÀýÈ磬ÄãÓÐÒ»ÕÅ±í£¬Ëü°üÀ¨ÁÐdollar amounts, wholesale pricesºÍretail prices¡£Äã¿Ï¶¨²»ÏëÔÚÿ´Î²éѯ±íʱÀ´¼ÆËãÄÇÁ½ÁÐÖ®¼äµÄ²îÖµ£¬ÄãÏ£Íû½«ÆäÖµ±£´æÔÚµÚÈýÁÐÖУ¬ÈÃÆä×Ô¶¯¼ÆËãǰÁ½ÁÐÖ®¼äµÄ²îÖµ¡£¶ø´ËÁоÍÊǼÆËãÁС£
¡¡¡¡ÔÚSQL ServerÖÐʹÓÃXMLÊý¾ÝÀ´´´½¨¼ÆËãÁУ¬ÄãµÄÁж¨Ò屨Ðë°üº¬±ØÒªµÄÓÃÀ´¼ì²âÏòÁÐÖвåÈëµÄÊÇʲôÊý¾ÝµÄ±í´ïʽ¡£ÀýÈ磬ÔÚÉÏÃæµÄÀý×ÓÖУ¬ÄãµÄ±í´ïʽӦ¸Ã´ÓretailÁÐÖеÄÖµ¼õÈ¥wholesaleÁÐÖеÄÖµ¡£µ±ÄãÌí¼Ó»ò¸üбíÖеÄÊý¾ÝÐÐʱ£¬²îÖµ½«×Ô¶¯²åÈëÖÁ¼ÆËãÁÐÖС£
¡¡¡¡Äã¿ÉÒÔºÜÈÝÒ×µØÔÚÁ½¸ö»ò¸ü¶àµÄ°üº¬×Ö·û´®»òÊý×ÖÀàÐÍÖµµÄÁеĻù´¡ÉÏ´´½¨¼ÆËãÁС£(¸ü¶à¹ØÓÚÈçºÎ´´½¨´ËÀàÐ͵ļÆËãÁеÄÏêϸÐÅÏ¢£¬Çë²Î¿¼Microsoft SQL Server Books Online)¡£È»¶ø£¬Èç¹ûÄãÏëÒª»ùÓÚÖ¸¶¨µÄXMLÁÐÖÐÔªËØÖµ´´½¨Ò»¸ö¼ÆËãÁУ¬¸Ã¹ý³ÌÏà¶Ô¸ü¼Ó¸´ÔÓһЩ¡£ÒòΪÄã±ØÐëʹÓÃXquery±í´ïʽÀ´´ÓXMLÁÐÖлñȡָ¶¨ÔªËØÊý¾Ý,ÇÒSQL Server²»Ö§³ÖÔÚ¼ÆËãÁе͍ÒåÖÐʹÓÃXquery±í´ïʽ¡£
¡¡¡¡Òª½â¾ö´ËÎÊÌ⣬¿ÉÒÔ´´½¨Ò»¸öº¯ÊýÀ´½ÓÊÕÄãÏë°üº¬ÔÚ¼ÆËãÁÐÖеÄXMLÊý¾Ý£¬²¢ÔÚ¼ÆËãÁж¨ÒåÖе÷Óô˺¯Êý¡£¸üºÃµÄʾ·¶ÕâÊÇÈçºÎ¹¤×÷µÄ£¬ÎÒÃÇÔÚÕâ¸ø³öÒ»¸öÀý×Ó¡£ÎÒÔÚSQL Server 2005µÄʾÀýÊý¾Ý¿âAdventureWorksÖд´½¨ÒÔϵļܹ¹ºÍ±í:
¡¡¡¡USE AdventureWorks;
¡¡¡¡GO
¡¡¡¡CREATE SCHEMA hr
¡¡¡¡GO
¡¡¡¡SELECT TOP 10 JobCandidateID AS CandidateID,
¡¡¡¡[Resume] AS JobResume
¡¡¡¡INTO hr.CandidateNames
¡¡¡¡from HumanResources.JobCandidate
¡¡¡¡GO
¡¡¡¡ÕýÈçÃû³ÆËùʾ£¬HumanResources.JobCandidate±íÖеÄResumeÁÐÊÇÒ»¸öXMLÁУ¬Ëü°üº¬ºîÑ¡È˵ÄÂÄÀúÐÅÏ¢¡£ÎÒ´ÓÕâÕűíÖÐÌáÈ¡Êý¾ÝÀ´´´½¨hr¼Ü¹¹ÖеÄCandidateNames±í¡£(ÎÒ´´½¨ÁËÒ»¸öµ¥¶ÀµÄ±í£¬ÒòΪÎÒÏ£Íû¿ÉÒÔÐÞ¸Ä±í¶¨Ò壬´Ó¶ø¿ÉÒÔÔö¼Ó¼ÆËãÁÐ) ÔÚ½¨Á¢ºÃ²âÊÔ»·¾³ºó£¬Äã¿ÉÒÔ´´½¨º¯Êý¡£º¯ÊýÓ¦¸Ã°üÀ¨ÔÚ´ÓÖ¸¶¨µÄXMLÁÐÖлñÈ¡Êý¾ÝʱËùÐèµÄXQuery±í´ïʽ¡£ÀýÈ磬ÒÔϺ¯Êý½ÓÊÕ¹¤×÷ºòÑ¡È˵ÄÐÕÃû£¬²¢±£´æÔÚJobResumeÁÐÖУº
¡¡¡¡CREATE FUNCTION hr.FullName (@name XML)
¡¡¡¡RETURNS NVARCHAR(60) AS
¡¡¡¡BEGIN
¡¡¡¡RETURN @name.value('declare namespace ns=
¡¡¡¡"http://schemas.microsoft.com/sqlserver/2004/07/adventure-
¡¡¡¡works/Resume";
¡¡¡¡concat((/ns:Resume/ns:Name/ns:Name.First)[1], " ",
¡¡¡¡(/ns:Resume/ns:Name/ns:Name.Last)[1])','nvarchar(
Ïà¹ØÎĵµ£º
<!-- xml ¸ñʽ
<books>
<book id='1001'>
<author>andylin</author>
<title>c language</title>
<publisher id="aaa">O'Reilly</publisher>
</book>
<book id='1002'>
<author>congfeng</author>
<t ......
ºÅ³ÆxmlhelperµÄÒ»¸öÀà
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Xml;
namespace WebApplication2
{
/// <summary>
/// XMLHelper XMLÎĵµ²Ù×÷¹ÜÀíÆ÷
/// </summary>
public class XMLHelper
{
public X ......
ºÎνLINQ? LINQ¼´.NET ÓïÑÔ¼¯³É²éѯ(.NET Language-Integrated Query (LINQ) Framework),Ϊ.NET¼Ü¹¹ÖеÄÖØÒª×é³É²¿·Ö¡£LINQϵÁм¼ÊõÌṩÁËÕë¶Ô¶ÔÏó(LINQ)¡¢¹ØÏµÊý¾Ý¿â(LINQ to SQL)ºÍXML(LINQ to XML)µÄÒ»ÖÂÐÔ²éѯÌåÑé¡£ ʲôÊÇLINQ to XML? LINQ to XML ʹÓÃ×îеÄ.NET FrameworkÓïÑÔ¹¦ÄÜ£¬Ï൱ÓÚ¸üкÍÖØÐÂÉè¼ÆµÄÎĵµ¶ ......
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
//µ¼ÈëʹÓÃxmlÓ¦ÓÃËùÐèµ ......
SQL·ÖÀࣺ
¡¡¡¡DDL—Êý¾Ý¶¨ÒåÓïÑÔ(CREATE£¬ALTER£¬DROP£¬DECLARE)
¡¡¡¡DML—Êý¾Ý²Ù×ÝÓïÑÔ(SELECT£¬DELETE£¬UPDATE£¬INSERT)
¡¡¡¡DCL—Êý¾Ý¿ØÖÆÓïÑÔ(GRANT£¬REVOKE£¬COMMIT£¬ROLLBACK)
¡¡¡¡Ê×ÏÈ,¼òÒª½éÉÜ»ù´¡Óï¾ä£º
¡¡¡¡1¡¢ËµÃ÷£º´´½¨Êý¾Ý¿â
CREATE DATABASE database-name
¡¡¡¡2¡¢ËµÃ÷£ºÉ¾³ýÊý¾Ý¿â ......