程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 使用MicrosoftSQLServer2000的XML查詢

使用MicrosoftSQLServer2000的XML查詢

編輯:關於SqlServer
由於XML本身的諸多優點,XML技術已被廣泛的使用,目前的好多軟件技術同XML緊密相關,比如微軟的。net 平台對xml提供了強大的支持,提供System.Xml以及其子命名空間下的類型來操作XML.Ado.Net通過核心類型DataSet出色的把關系型數據庫同xml進行了緊密集成。由於平常許多開發人員使用。net 來操作SQL Server的到數據集後再轉換成xml,所以往往忽略Transact-SQL查詢生成XML數據的強大功能。對於一些項目使用XML查詢直接通過SQL生成XML會來的更為簡便,所以我通過在實際項目中的使用和查閱一些資料寫成一個知識點,一是溫故而知新,二是對於一些開發者剛好需要這方面的技術而還沒有找到比較快捷的學習方式提供一條途徑。
  
  在SQL Server 2000中查詢生成XML的語法表達式比較簡潔,整個語法如下:
  
  SELECT <;select_list>
  
  FROM <;table_source>
  
  WHERE <;search_condition>
  
  FOR XML AUTO | RAW | EXPLICIT [,XMLDATA ] [,ELEMENTS] [,BINARY BASE64]
  
  下面我將以Northwind數據庫來演示上面的表達式中所包含的各項功能,下面的查詢語句和返回結果都通過SQL Server 2000查詢分析器來執行和得到。
  
  一。 使用AUTO模式
  
  該模式我認為在生成單表XML數據方面是用得最多的,能滿足一般的需要。先來看他的簡單查詢。
  
  1.簡單查詢
  
  查詢語句:
  
  SELECT CategoryID,
  
  CategoryName
  
  FROM CategorIEs
  
  WHERE CategoryID <; 3 FOR XML AUTO
  
  返回結果:
  
  <;CategorIEs CategoryID="1" CategoryName="Beverages"/>
  
  <;CategorIEs CategoryID="2" CategoryName="Condiments"/>
  
  也可以使用別名,
  
  查詢語句:
  
  SELECT CategoryID AS ID,
  
  CategoryName,
  
  GetDate() as CurrDate
  
  FROM CategorIEs MyTable
  
  WHERE CategoryID <; 3 FOR XML AUTO
  
  返回結果:
  
  <;MyTable ID="1" CategoryName="Beverages" CurrDate="2005-06-24T11:09:52.937"/>
  
  <;MyTable ID="2" CategoryName="Condiments" CurrDate="2005-06-24T11:09:52.937"/>
  
  2.連接查詢
  
  以兩個表為例,
  
  查詢語句:
  
  SELECT CategorIEs.CategoryID,
  
  CategorIEs.CategoryName,
  
  ProductID,
  
  ProductName
  
  FROM CategorIEs
  
  JOIN Products ON CategorIEs.CategoryID = Products.CategoryID AND ProductID <;5
  
  WHERE CategorIEs.CategoryID <; 3 FOR XML AUTO
  
  返回結果:
  
  <;CategorIEs CategoryID="1" CategoryName="Beverages">
  
  <;Products ProductID="1" ProductName="Chai"/>
  
  <;/CategorIEs>
  
  <;CategorIEs CategoryID="2" CategoryName="Condiments"
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved