<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>獨孤雲異想世界</title><link>http://blog.blueshop.com.tw/josephlee/</link><description>工作, 心得, 感想, 隨記, 收藏</description><managingEditor>獨孤雲</managingEditor><dc:language>zh-TW</dc:language><generator>.Text Version 0.95.2004.101</generator><item><dc:creator>獨孤雲</dc:creator><title>Asymmetric Encryption</title><link>http://blog.blueshop.com.tw/josephlee/archive/2007/01/07/49132.aspx</link><pubDate>Sun, 07 Jan 2007 09:46:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/josephlee/archive/2007/01/07/49132.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/josephlee/comments/49132.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/josephlee/archive/2007/01/07/49132.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/josephlee/comments/commentRss/49132.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/josephlee/services/trackbacks/49132.aspx</trackback:ping><description>&lt;P&gt;--測試非對稱鑰匙對所有的加/解密,簽章與驗證&lt;BR&gt;use tempdb&lt;BR&gt;go&lt;/P&gt;
&lt;P&gt;--建立非對稱鑰匙對&lt;/P&gt;
&lt;P&gt;create asymmetric key keyRSA&lt;BR&gt;&amp;nbsp;with Algorithm=RSA_2048&lt;BR&gt;&amp;nbsp;encryption by password=N'password';&lt;/P&gt;
&lt;P&gt;--建立存放加密與簽章資料的資料表&lt;BR&gt;create table tblTest(c1 int identity(1,1) primary key , Org nvarchar(100),&lt;BR&gt;Encrypt Varbinary(max),Signature varbinary(max))&lt;BR&gt;go&lt;/P&gt;
&lt;P&gt;--將資料透過鑰匙對加密與簽章後放入資料表&lt;BR&gt;declare @str nvarchar(100)&lt;BR&gt;set @str = N'Hello RSA 2048'&lt;BR&gt;insert into tblTest values(@str,&lt;BR&gt;&amp;nbsp;EncryptByAsymKey(AsymKey_ID('keyRSA'),@str),&lt;BR&gt;&amp;nbsp;SignByAsymKey(AsymKey_Id('keyRSA'),@str,N'password')&lt;BR&gt;)&lt;BR&gt;go&lt;/P&gt;
&lt;P&gt;select * from tblTest&lt;/P&gt;
&lt;P&gt;--解密，並驗證簽章&lt;BR&gt;select org,convert(nvarchar(100),&lt;BR&gt;&amp;nbsp;DecryptByAsymKey(AsymKey_Id('keyRSA'),CAST(Encrypt as Nvarchar(MAX)),&lt;BR&gt;N'password')) as Decrypt,&lt;BR&gt;&amp;nbsp;CASE when VerifySignedByAsymKey(AsymKey_Id('keyRSA'),Org,Signature)=1&lt;BR&gt;then &lt;BR&gt;&amp;nbsp;N'資料正確'&lt;BR&gt;else&lt;BR&gt;&amp;nbsp;N'資料被改過'&lt;BR&gt;end&lt;BR&gt;&amp;nbsp;as IsSignatureValid&lt;BR&gt;from tblTest&lt;/P&gt;
&lt;P&gt;--故意修改原始資料&lt;BR&gt;update tblTest set Org=Org+'a'&lt;/P&gt;
&lt;P&gt;--再驗證一次&lt;/P&gt;
&lt;P&gt;select org,convert(nvarchar(100),&lt;BR&gt;&amp;nbsp;DecryptByAsymKey(AsymKey_Id('keyRSA'),CAST(Encrypt as Nvarchar(MAX)),&lt;BR&gt;N'password')) as Decrypt,&lt;BR&gt;&amp;nbsp;CASE when VerifySignedByAsymKey(AsymKey_Id('keyRSA'),Org,Signature)=1&lt;BR&gt;then &lt;BR&gt;&amp;nbsp;N'資料正確'&lt;BR&gt;else&lt;BR&gt;&amp;nbsp;N'資料被改過'&lt;BR&gt;end&lt;BR&gt;&amp;nbsp;as IsSignatureValid&lt;BR&gt;from tblTest&lt;/P&gt;
&lt;P&gt;--清除&lt;BR&gt;drop table tblTest&lt;BR&gt;drop asymmetric key keyRSA&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src ="http://blog.blueshop.com.tw/josephlee/aggbug/49132.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>獨孤雲</dc:creator><title>Symmetric Encryption</title><link>http://blog.blueshop.com.tw/josephlee/archive/2007/01/07/49131.aspx</link><pubDate>Sun, 07 Jan 2007 09:44:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/josephlee/archive/2007/01/07/49131.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/josephlee/comments/49131.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/josephlee/archive/2007/01/07/49131.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/josephlee/comments/commentRss/49131.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/josephlee/services/trackbacks/49131.aspx</trackback:ping><description>&lt;P&gt;use AdventureWorks&lt;BR&gt;go&lt;/P&gt;
&lt;P&gt;drop table tab1&lt;/P&gt;
&lt;P&gt;create MASTER KEY&lt;BR&gt;encryption by password='some56*z'&lt;BR&gt;go&lt;/P&gt;
&lt;P&gt;create certificate foo with subject='foo'&lt;BR&gt;go&lt;/P&gt;
&lt;P&gt;dump certificate foo to file ='c:\foo.cer'&lt;BR&gt;go&lt;/P&gt;
&lt;P&gt;create SYMMETRIC KEY fookey with ALGORITHM =DES&lt;BR&gt;encryption by certificate foo&lt;BR&gt;go&lt;/P&gt;
&lt;P&gt;-- 設定為 varbinary欄位&lt;BR&gt;create table tab1(id int,cardno varbinary(100))&lt;BR&gt;go&lt;/P&gt;
&lt;P&gt;-- 開啟對稱式 key&lt;BR&gt;OPEN SYMMETRIC KEY fookey DECRYPTION BY CERTIFICATE foo;&lt;BR&gt;go&lt;/P&gt;
&lt;P&gt;insert tab1(id,cardno) values(1,encryptByKey(Key_GUID('fookey'),'12345678'))&lt;/P&gt;
&lt;P&gt;go&lt;/P&gt;
&lt;P&gt;-- 取得加密值&lt;BR&gt;select * from tab1&lt;/P&gt;
&lt;P&gt;-- 取得解密值&lt;BR&gt;select convert(char(8), decryptbykey(cardno)) from tab1&lt;/P&gt;
&lt;P&gt;-- 關掉對稱式 key之後,得到 null值&lt;BR&gt;close symmetric key fookey&lt;BR&gt;select convert(char(8), decryptbykey(cardno)) from tab1&lt;/P&gt;
&lt;P&gt;-- drop everything&lt;BR&gt;drop table tab1&lt;BR&gt;drop symmetric key fookey&lt;BR&gt;drop certificate foo&lt;BR&gt;drop master key&lt;/P&gt;&lt;img src ="http://blog.blueshop.com.tw/josephlee/aggbug/49131.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>獨孤雲</dc:creator><title>Restore database example</title><link>http://blog.blueshop.com.tw/josephlee/archive/2006/12/31/49015.aspx</link><pubDate>Sun, 31 Dec 2006 16:57:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/josephlee/archive/2006/12/31/49015.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/josephlee/comments/49015.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/josephlee/archive/2006/12/31/49015.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/josephlee/comments/commentRss/49015.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/josephlee/services/trackbacks/49015.aspx</trackback:ping><description>&lt;P&gt;USE [master]&lt;BR&gt;GO&lt;/P&gt;
&lt;P&gt;--&lt;BR&gt;CREATE DATABASE [AWData] ON &lt;BR&gt;( FILENAME = N'C:\myAdmin\DB\AWData_P.mdf' ),&lt;BR&gt;( FILENAME = N'C:\myAdmin\DB\AWData_log.ldf' ),&lt;BR&gt;( FILENAME = N'C:\myAdmin\DB\AWData_A.ndf' ),&lt;BR&gt;( FILENAME = N'C:\myAdmin\DB\AWData_B.ndf' ),&lt;BR&gt;( FILENAME = N'C:\myAdmin\DB\AWData_C.ndf' )&lt;BR&gt;&amp;nbsp;FOR ATTACH&lt;/P&gt;
&lt;P&gt;-- 各資料表所屬的 Filegroup&lt;BR&gt;SELECT objs.schemaN N'結構描述', objs.tableN N'資料表', das.name N'檔案群組'&lt;BR&gt;FROM AWData.sys.data_spaces das INNER JOIN &lt;BR&gt;&amp;nbsp;(&lt;BR&gt;&amp;nbsp;&amp;nbsp;SELECT DISTINCT object_id,data_space_id &lt;BR&gt;&amp;nbsp;&amp;nbsp;FROM AWData.sys.indexes&lt;BR&gt;&amp;nbsp;&amp;nbsp;WHERE type BETWEEN 0 AND 1&lt;BR&gt;&amp;nbsp;) idx&lt;BR&gt;&amp;nbsp;ON das.data_space_id = idx.data_space_id&lt;BR&gt;&amp;nbsp;INNER JOIN&lt;BR&gt;&amp;nbsp;(&lt;BR&gt;&amp;nbsp;&amp;nbsp;SELECT sys.objects.name 'tableN', object_id, sys.schemas.name 'schemaN'&lt;BR&gt;&amp;nbsp;&amp;nbsp;FROM AWData.sys.objects INNER JOIN AWData.sys.schemas&lt;BR&gt;&amp;nbsp;&amp;nbsp;ON sys.objects.schema_id = sys.schemas.schema_id&lt;BR&gt;&amp;nbsp;&amp;nbsp;WHERE type='U'&lt;BR&gt;&amp;nbsp;) objs&lt;BR&gt;&amp;nbsp;ON objs.object_id = idx.object_id&lt;BR&gt;ORDER BY 3&lt;/P&gt;
&lt;P&gt;-- 分析各個資料檔案的屬性&lt;BR&gt;SELECT name, physical_name, state_desc, is_read_only , read_only_lsn&lt;BR&gt;FROM AWData.sys.database_files&lt;/P&gt;
&lt;P&gt;-- 分析資料&lt;BR&gt;SELECT * FROM AWData.dbo.tbl_P&lt;BR&gt;&amp;nbsp;UNION ALL&lt;BR&gt;SELECT * FROM AWData.dbo.tbl_A&lt;BR&gt;&amp;nbsp;UNION ALL&lt;BR&gt;SELECT * FROM AWData.dbo.tbl_B&lt;BR&gt;&amp;nbsp;UNION ALL&lt;BR&gt;SELECT * FROM AWData.dbo.tbl_C&lt;/P&gt;
&lt;P&gt;-- INSERT DATA&lt;BR&gt;INSERT AWData.dbo.tbl_P VALUES(2,'P')&lt;BR&gt;INSERT AWData.dbo.tbl_A VALUES(2,'A')&lt;BR&gt;INSERT AWData.dbo.tbl_B VALUES(2,'B')&lt;BR&gt;INSERT AWData.dbo.tbl_C VALUES(2,'C')&lt;/P&gt;
&lt;P&gt;-- 使用 SQLCMD 模式&lt;BR&gt;!!net stop mssqlserver /Y&lt;/P&gt;
&lt;P&gt;-- 破壞 C:\myAdmin\DB\AWData_B.ndf&lt;/P&gt;
&lt;P&gt;!!ren "C:\myAdmin\DB\AWData_B.ndf" *.BAD&lt;/P&gt;
&lt;P&gt;!!net start mssqlserver /Y&lt;/P&gt;
&lt;P&gt;-- 檢查 SQL Server 記錄檔&lt;BR&gt;/*&lt;BR&gt;訊息&lt;BR&gt;錯誤: 17207，嚴重性: 16，狀態: 1。&lt;BR&gt;FileMgr::StartSecondaryDataFiles: Operating system error 2(系統找不到指定的檔案。) occurred while creating or opening file 'C:\myAdmin\DB\AWData_B.ndf'. Diagnose and correct the operating system error, and retry the operation.&lt;/P&gt;
&lt;P&gt;訊息&lt;BR&gt;錯誤: 5120，嚴重性: 16，狀態: 5。&lt;BR&gt;無法開啟實體檔案 "C:\myAdmin\DB\AWData_B.ndf"。作業系統錯誤 2: "2(系統找不到指定的檔案。)"。&lt;/P&gt;
&lt;P&gt;*/&lt;/P&gt;
&lt;P&gt;-- 分析資料，Error&lt;BR&gt;SELECT * FROM AWData.dbo.tbl_P&lt;/P&gt;
&lt;P&gt;-- 檢查資料庫的狀態 -- RECOVERY_PENDING&lt;BR&gt;SELECT name, state_desc &lt;BR&gt;FROM sys.databases&lt;/P&gt;
&lt;P&gt;-- OFFLINE&lt;BR&gt;ALTER DATABASE AWData&lt;BR&gt;MODIFY FILE&lt;BR&gt;&amp;nbsp;(name = N'AWData_B', OFFLINE)&lt;BR&gt;go&lt;/P&gt;
&lt;P&gt;-- Database are Online&lt;BR&gt;ALTER DATABASE AWData&lt;BR&gt;SET ONLINE&lt;BR&gt;go&lt;/P&gt;
&lt;P&gt;-- 分析各個資料檔案的屬性 -- OFFLINE&lt;BR&gt;SELECT name, physical_name, state_desc, is_read_only , read_only_lsn&lt;BR&gt;FROM AWData.sys.database_files&lt;/P&gt;
&lt;P&gt;-- 分析資料&lt;BR&gt;SELECT * FROM AWData.dbo.tbl_P&lt;BR&gt;SELECT * FROM AWData.dbo.tbl_A&lt;BR&gt;SELECT * FROM AWData.dbo.tbl_B&amp;nbsp; -- ERROR&lt;BR&gt;SELECT * FROM AWData.dbo.tbl_C&lt;/P&gt;
&lt;P&gt;/*&lt;BR&gt;訊息 8653，層級 16，狀態 1，行 1&lt;BR&gt;查詢處理器無法產生資料表或檢視 'tbl_B' 的計劃，因為資料表存在於非線上的檔案群組中。&lt;BR&gt;*/&lt;/P&gt;
&lt;P&gt;-- Backup LOG --&amp;gt; tail-log backup&lt;BR&gt;/*&lt;BR&gt;記得先將 M0337_PiecemealBackup.bak，存放到 C:\myAdmin\Backup 中。&lt;BR&gt;*/&lt;/P&gt;
&lt;P&gt;BACKUP LOG AWData&lt;BR&gt;TO DISK ='C:\myAdmin\Backup\M0337_PiecemealBackup.bak'&lt;BR&gt;WITH NAME = 'LOG_backupset',&lt;BR&gt;&amp;nbsp;NO_TRUNCATE&lt;/P&gt;
&lt;P&gt;--&lt;BR&gt;RESTORE HEADERONLY &lt;BR&gt;FROM DISK ='C:\myAdmin\Backup\M0337_PiecemealBackup.bak'&lt;/P&gt;
&lt;P&gt;--&lt;BR&gt;RESTORE FILELISTONLY &lt;BR&gt;FROM DISK ='C:\myAdmin\Backup\M0337_PiecemealBackup.bak'&lt;BR&gt;&amp;nbsp;&amp;nbsp; WITH FILE=1&lt;/P&gt;
&lt;P&gt;-- RESTORE DATABASE -- File&lt;BR&gt;RESTORE DATABASE AWData&lt;BR&gt;&amp;nbsp;FILE = N'AWData_B'&lt;BR&gt;FROM DISK ='C:\myAdmin\Backup\M0337_PiecemealBackup.bak'&lt;BR&gt;WITH RECOVERY&lt;/P&gt;
&lt;P&gt;/*&lt;BR&gt;已處理資料庫 'AWData' 的 16 頁，檔案 1 上的檔案 'AWData_B'。&lt;BR&gt;向前復原目前的起始點位於記錄序號 (LSN) 21000000030800001。&lt;BR&gt;必須有超過 LSN 21000000035600001 的其他向前復原，才能完成還原順序。&lt;BR&gt;RESTORE DATABASE ... FILE=&amp;lt;name&amp;gt; 已於 0.057 秒內成功處理了 16 頁 (2.299 MB/sec)。&lt;BR&gt;*/&lt;/P&gt;
&lt;P&gt;-- 分析各個資料檔案的屬性 -- RESTORING&lt;BR&gt;SELECT name, physical_name, state_desc, is_read_only , read_only_lsn&lt;BR&gt;FROM AWData.sys.database_files&lt;/P&gt;
&lt;P&gt;--&lt;BR&gt;RESTORE LOG AWData&lt;BR&gt;FROM DISK ='C:\myAdmin\Backup\M0337_PiecemealBackup.bak'&lt;BR&gt;WITH FILE = 2,&lt;BR&gt;&amp;nbsp;RECOVERY&lt;/P&gt;
&lt;P&gt;-- 分析各個資料檔案的屬性 -- ONLINE&lt;BR&gt;SELECT name, physical_name, state_desc, is_read_only , read_only_lsn&lt;BR&gt;FROM AWData.sys.database_files&lt;/P&gt;
&lt;P&gt;-- 分析資料&lt;BR&gt;SELECT * FROM AWData.dbo.tbl_P&lt;BR&gt;&amp;nbsp;UNION ALL&lt;BR&gt;SELECT * FROM AWData.dbo.tbl_A&lt;BR&gt;&amp;nbsp;UNION ALL&lt;BR&gt;SELECT * FROM AWData.dbo.tbl_B&lt;BR&gt;&amp;nbsp;UNION ALL&lt;BR&gt;SELECT * FROM AWData.dbo.tbl_C&lt;/P&gt;&lt;img src ="http://blog.blueshop.com.tw/josephlee/aggbug/49015.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>獨孤雲</dc:creator><title>Configuration commands</title><link>http://blog.blueshop.com.tw/josephlee/archive/2006/12/31/49011.aspx</link><pubDate>Sun, 31 Dec 2006 13:29:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/josephlee/archive/2006/12/31/49011.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/josephlee/comments/49011.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/josephlee/archive/2006/12/31/49011.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/josephlee/comments/commentRss/49011.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/josephlee/services/trackbacks/49011.aspx</trackback:ping><description>&lt;P&gt;sp_configuration (server configuration)&lt;/P&gt;
&lt;P&gt;sp_dboption (database configuration)&lt;/P&gt;
&lt;P&gt;set xxx on / off (connection configuration)&lt;/P&gt;&lt;img src ="http://blog.blueshop.com.tw/josephlee/aggbug/49011.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>獨孤雲</dc:creator><title>Rename database name</title><link>http://blog.blueshop.com.tw/josephlee/archive/2006/12/31/49010.aspx</link><pubDate>Sun, 31 Dec 2006 11:57:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/josephlee/archive/2006/12/31/49010.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/josephlee/comments/49010.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/josephlee/archive/2006/12/31/49010.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/josephlee/comments/commentRss/49010.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/josephlee/services/trackbacks/49010.aspx</trackback:ping><description>&lt;P&gt;1. sp_dropserver @@servername&lt;/P&gt;
&lt;P&gt;2. sp_addserver 'vs99',local&lt;/P&gt;
&lt;P&gt;3. shutdiwb with nowait&lt;/P&gt;
&lt;P&gt;4. net start SQL server service&lt;/P&gt;&lt;img src ="http://blog.blueshop.com.tw/josephlee/aggbug/49010.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>獨孤雲</dc:creator><title>Integrity &amp; Constraint Type</title><link>http://blog.blueshop.com.tw/josephlee/archive/2006/12/24/48879.aspx</link><pubDate>Sun, 24 Dec 2006 15:36:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/josephlee/archive/2006/12/24/48879.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/josephlee/comments/48879.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/josephlee/archive/2006/12/24/48879.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/josephlee/comments/commentRss/48879.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/josephlee/services/trackbacks/48879.aspx</trackback:ping><description>&lt;P&gt;1. Domain Integrity&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(1). Default Constraint&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(2). Check Constraint&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(3). Foreign Key Constraint&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(4). Null Constraint&lt;/P&gt;
&lt;P&gt;2. Entity Integrity&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(1). Primary Key Constraint&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(2). Unique Constraint&lt;/P&gt;
&lt;P&gt;3. Referential Integrity :&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(1). Foreign Key Constraint&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(2). Check Constraint&lt;/P&gt;&lt;img src ="http://blog.blueshop.com.tw/josephlee/aggbug/48879.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>獨孤雲</dc:creator><title>Secondary XML Index</title><link>http://blog.blueshop.com.tw/josephlee/archive/2006/12/24/48878.aspx</link><pubDate>Sun, 24 Dec 2006 14:49:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/josephlee/archive/2006/12/24/48878.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/josephlee/comments/48878.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/josephlee/archive/2006/12/24/48878.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/josephlee/comments/commentRss/48878.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/josephlee/services/trackbacks/48878.aspx</trackback:ping><description>&lt;P&gt;* Secondary XML Index is created based on Primary XML Index&lt;/P&gt;
&lt;P&gt;* Secondary XML Index Type:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; (1). PATH&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; (2). PROPERTY&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; (3). VALUE&lt;/P&gt;&lt;img src ="http://blog.blueshop.com.tw/josephlee/aggbug/48878.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>獨孤雲</dc:creator><title>Create XML Index</title><link>http://blog.blueshop.com.tw/josephlee/archive/2006/12/24/48877.aspx</link><pubDate>Sun, 24 Dec 2006 14:44:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/josephlee/archive/2006/12/24/48877.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/josephlee/comments/48877.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/josephlee/archive/2006/12/24/48877.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/josephlee/comments/commentRss/48877.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/josephlee/services/trackbacks/48877.aspx</trackback:ping><description>&lt;P&gt;1. 建立 XML Index 的 Table 上要有定義 Clustered Primary Key&lt;/P&gt;
&lt;P&gt;2. 每個 Table 第一個建立的 XML Index 必須維 Primary XML Inddex&lt;/P&gt;
&lt;P&gt;3. SET ARITHABORT ON&lt;/P&gt;&lt;img src ="http://blog.blueshop.com.tw/josephlee/aggbug/48877.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>獨孤雲</dc:creator><title>Defragmentation</title><link>http://blog.blueshop.com.tw/josephlee/archive/2006/12/24/48876.aspx</link><pubDate>Sun, 24 Dec 2006 14:36:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/josephlee/archive/2006/12/24/48876.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/josephlee/comments/48876.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/josephlee/archive/2006/12/24/48876.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/josephlee/comments/commentRss/48876.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/josephlee/services/trackbacks/48876.aspx</trackback:ping><description>&lt;P&gt;1.&amp;nbsp; &amp;lt;= 30% fragmentation&amp;nbsp;-&amp;gt; Reorganize&lt;/P&gt;
&lt;P&gt;2. &amp;gt; 30% fragmentation -&amp;gt; Rebuild&lt;/P&gt;&lt;img src ="http://blog.blueshop.com.tw/josephlee/aggbug/48876.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>獨孤雲</dc:creator><title>Options to create indexes on computed columns</title><link>http://blog.blueshop.com.tw/josephlee/archive/2006/12/24/48873.aspx</link><pubDate>Sun, 24 Dec 2006 13:30:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/josephlee/archive/2006/12/24/48873.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/josephlee/comments/48873.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/josephlee/archive/2006/12/24/48873.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/josephlee/comments/commentRss/48873.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/josephlee/services/trackbacks/48873.aspx</trackback:ping><description>&lt;P&gt;Set to "ON":&lt;/P&gt;
&lt;P&gt;1. ANSI_NULLS&lt;/P&gt;
&lt;P&gt;2. ANSI_PADDING&lt;/P&gt;
&lt;P&gt;3. ANSI_WARNINGS&lt;/P&gt;
&lt;P&gt;4. CONCAT_NULL_YIELDS_NULL&lt;/P&gt;
&lt;P&gt;5. QUOTED_IDENTIFIER&lt;/P&gt;
&lt;P&gt;6. ARITHABORT&lt;/P&gt;
&lt;P&gt;Set to "OFF":&lt;/P&gt;
&lt;P&gt;1. NUMERIC_ROUNDABORT&lt;/P&gt;&lt;img src ="http://blog.blueshop.com.tw/josephlee/aggbug/48873.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>獨孤雲</dc:creator><title>Nonclustered Index </title><link>http://blog.blueshop.com.tw/josephlee/archive/2006/12/24/48869.aspx</link><pubDate>Sun, 24 Dec 2006 11:43:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/josephlee/archive/2006/12/24/48869.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/josephlee/comments/48869.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/josephlee/archive/2006/12/24/48869.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/josephlee/comments/commentRss/48869.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/josephlee/services/trackbacks/48869.aspx</trackback:ping><description>&lt;P&gt;* Nonclustered index is slower than clustered index&lt;/P&gt;
&lt;P&gt;* (1). index key value + data page pointer&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; (2). index key value + clustered index key&lt;/P&gt;
&lt;P&gt;* Every table can create at most 249 nonclustered indexes (Index ID : 2 ~ 250)&lt;/P&gt;
&lt;P&gt;* Nonclustered index is default index type&lt;/P&gt;
&lt;P&gt;*&amp;nbsp;Time to rebuild nonclustered index :&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; (1). Existing clustered index is dropped&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; (2). Clustered index is created&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; (3). The columns that define the clustered index are changed&lt;/P&gt;&lt;img src ="http://blog.blueshop.com.tw/josephlee/aggbug/48869.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>獨孤雲</dc:creator><title>Clustered Index</title><link>http://blog.blueshop.com.tw/josephlee/archive/2006/12/24/48868.aspx</link><pubDate>Sun, 24 Dec 2006 11:30:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/josephlee/archive/2006/12/24/48868.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/josephlee/comments/48868.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/josephlee/archive/2006/12/24/48868.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/josephlee/comments/commentRss/48868.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/josephlee/services/trackbacks/48868.aspx</trackback:ping><description>&lt;P&gt;* 3 Levels of clustered index&lt;/P&gt;
&lt;P&gt;1. Root Index&lt;/P&gt;
&lt;P&gt;2. Intermediate Level (Index Page) -&amp;gt; suitable for large range data searching&lt;/P&gt;
&lt;P&gt;3. Leaf Level (Data Page)&lt;/P&gt;
&lt;P&gt;* One clustered index per table&lt;/P&gt;
&lt;P&gt;* Implicit : key + 4 byte integer&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; Explicit : Unique&lt;/P&gt;&lt;img src ="http://blog.blueshop.com.tw/josephlee/aggbug/48868.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>獨孤雲</dc:creator><title>XQUERY</title><link>http://blog.blueshop.com.tw/josephlee/archive/2006/12/24/48865.aspx</link><pubDate>Sun, 24 Dec 2006 10:59:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/josephlee/archive/2006/12/24/48865.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/josephlee/comments/48865.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/josephlee/archive/2006/12/24/48865.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/josephlee/comments/commentRss/48865.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/josephlee/services/trackbacks/48865.aspx</trackback:ping><description>&lt;P&gt;USE AdventureWorks&lt;BR&gt;go&lt;/P&gt;
&lt;P&gt;CREATE TABLE Stores&lt;BR&gt;(StoreID integer IDENTITY PRIMARY KEY,&lt;BR&gt;&amp;nbsp;StoreName nvarchar(40),&lt;BR&gt;&amp;nbsp;Manager nvarchar(40),&lt;BR&gt;&amp;nbsp;Invoices xml)&lt;BR&gt;go&lt;/P&gt;
&lt;P&gt;INSERT INTO Stores&lt;BR&gt;VALUES&lt;BR&gt;('Astro Mountain Bike Company', 'Jeff Adell', '&amp;lt;InvoiceList xmlns="&lt;A href="http://schemas.adventure-works.com/Invoices"&gt;http://schemas.adventure-works.com/Invoices&lt;/A&gt;"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Invoice InvoiceNo="1000"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Customer&amp;gt;Kim Abercrombie&amp;lt;/Customer&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Items&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Item Product="1" Price="1.99" Quantity="2"/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Item Product="3" Price="2.49" Quantity="1"/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Items&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Invoice&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Invoice InvoiceNo="1001"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Customer&amp;gt;Sean Chai&amp;lt;/Customer&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Items&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Item Product="1" Price="2.45" Quantity="2"/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Items&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Invoice&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/InvoiceList&amp;gt;')&lt;/P&gt;
&lt;P&gt;INSERT INTO Stores&lt;BR&gt;VALUES&lt;BR&gt;('Clocktower Sporting Goods', 'Karen Berge', '&amp;lt;InvoiceList xmlns="&lt;A href="http://schemas.adventure-works.com/Invoices"&gt;http://schemas.adventure-works.com/Invoices&lt;/A&gt;"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Invoice InvoiceNo="999"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Customer&amp;gt;Sarah Akhtar&amp;lt;/Customer&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Items&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Item Product="8" Price="2.99" Quantity="3"/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Items&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Invoice&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Invoice InvoiceNo="1000"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Customer&amp;gt;Bei-Jing Guo&amp;lt;/Customer&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Items&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Item Product="1" Price="1.95" Quantity="7"/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Item Product="100" Price="112.99" Quantity="1"/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Items&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Invoice&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/InvoiceList&amp;gt;')&lt;/P&gt;
&lt;P&gt;INSERT INTO Stores&lt;BR&gt;VALUES&lt;BR&gt;('HiaBuy Toys', 'Scott Cooper', NULL)&lt;/P&gt;
&lt;P&gt;-- Use the query method&lt;BR&gt;SELECT StoreName, Invoices.query('declare default element namespace "&lt;A href="http://schemas.adventure-works.com/Invoices"&gt;http://schemas.adventure-works.com/Invoices&lt;/A&gt;";&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;SoldItems&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for $i in /InvoiceList/Invoice/Items/Item&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return $i&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/SoldItems&amp;gt;') AS SoldItems&lt;BR&gt;FROM Stores&lt;/P&gt;
&lt;P&gt;SELECT StoreName, Invoices.query('declare default element namespace "&lt;A href="http://schemas.adventure-works.com/Invoices"&gt;http://schemas.adventure-works.com/Invoices&lt;/A&gt;";&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for $i in /InvoiceList/Invoice&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where count($i/Items/Item) &amp;gt; 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return $i&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ') AS SoldItems&lt;BR&gt;FROM Stores&lt;/P&gt;
&lt;P&gt;-- Use the value method&lt;BR&gt;SELECT StoreName, Invoices.value('declare default element namespace "&lt;A href="http://schemas.adventure-works.com/Invoices"&gt;http://schemas.adventure-works.com/Invoices&lt;/A&gt;";&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;A href="mailto:InvoiceList/Invoice/@InvoiceNo)[1]'"&gt;InvoiceList/Invoice/@InvoiceNo)[1]'&lt;/A&gt;, 'int') AS FirstInvoice&lt;BR&gt;FROM Stores&lt;/P&gt;
&lt;P&gt;-- Use the exist method&lt;BR&gt;SELECT Invoices.exist('declare default element namespace "&lt;A href="http://schemas.adventure-works.com/Invoices"&gt;http://schemas.adventure-works.com/Invoices&lt;/A&gt;";&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /InvoiceList/Invoice[@InvoiceNo=1000]') As Existence&lt;BR&gt;FROM Stores&lt;/P&gt;
&lt;P&gt;SELECT StoreName StoresWithInvoices&lt;BR&gt;FROM Stores&lt;BR&gt;WHERE Invoices.exist('declare default element namespace "&lt;A href="http://schemas.adventure-works.com/Invoices"&gt;http://schemas.adventure-works.com/Invoices&lt;/A&gt;";&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InvoiceList/Invoice') = 1&lt;/P&gt;
&lt;P&gt;-- Bind a relational column&lt;BR&gt;SELECT Invoices.query('declare default element namespace "&lt;A href="http://schemas.adventure-works.com/Invoices"&gt;http://schemas.adventure-works.com/Invoices&lt;/A&gt;";&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Invoices&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Store&amp;gt;{sql:column("StoreName")}&amp;lt;/Store&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for $i in /InvoiceList/Invoice&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return $i&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Invoices&amp;gt;') AS InvoicesWithStoreName&lt;BR&gt;FROM Stores&lt;/P&gt;
&lt;P&gt;--&lt;BR&gt;declare @invoiceNo int&lt;BR&gt;set @invoiceNo = 1000&lt;/P&gt;
&lt;P&gt;SELECT Invoices.query('declare default element namespace "&lt;A href="http://schemas.adventure-works.com/Invoices"&gt;http://schemas.adventure-works.com/Invoices&lt;/A&gt;";&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Invoices&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for $i in /InvoiceList/Invoice&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where &lt;A href="mailto:$i/@InvoiceNo"&gt;$i/@InvoiceNo&lt;/A&gt; = sql:variable("@invoiceNo")&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return $i&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Invoices&amp;gt;') AS InvoicesWithStoreName&lt;BR&gt;FROM Stores&lt;/P&gt;
&lt;P&gt;-- Use the modify method to insert XML&lt;BR&gt;UPDATE Stores&lt;BR&gt;SET Invoices.modify('declare default element namespace "&lt;A href="http://schemas.adventure-works.com/Invoices"&gt;http://schemas.adventure-works.com/Invoices&lt;/A&gt;";&lt;BR&gt;&amp;nbsp; insert element SalesPerson {"Alice"}&lt;BR&gt;&amp;nbsp; as first&lt;BR&gt;&amp;nbsp; into (/InvoiceList/Invoice)[1]')&lt;BR&gt;WHERE StoreID = 1&lt;/P&gt;
&lt;P&gt;SELECT Invoices.query('declare default element namespace "&lt;A href="http://schemas.adventure-works.com/Invoices"&gt;http://schemas.adventure-works.com/Invoices&lt;/A&gt;";&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (InvoiceList/Invoice)[1]') AS InsertedSalesPerson&lt;BR&gt;FROM Stores&lt;BR&gt;WHERE StoreID = 1&lt;/P&gt;
&lt;P&gt;-- Use the modify method to update XML&lt;BR&gt;UPDATE Stores&lt;BR&gt;SET Invoices.modify('declare default element namespace "&lt;A href="http://schemas.adventure-works.com/Invoices"&gt;http://schemas.adventure-works.com/Invoices&lt;/A&gt;";&lt;BR&gt;&amp;nbsp; replace value of (/InvoiceList/Invoice/SalesPerson/text())[1]&lt;BR&gt;&amp;nbsp; with "Holly"')&lt;BR&gt;WHERE StoreID = 1&lt;/P&gt;
&lt;P&gt;SELECT Invoices.query('declare default element namespace "&lt;A href="http://schemas.adventure-works.com/Invoices"&gt;http://schemas.adventure-works.com/Invoices&lt;/A&gt;";&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (InvoiceList/Invoice)[1]') UpdatedSalesPerson&lt;BR&gt;FROM Stores&lt;BR&gt;WHERE StoreID = 1&lt;/P&gt;
&lt;P&gt;-- Use the modify method to delete XML&lt;BR&gt;UPDATE Stores&lt;BR&gt;SET Invoices.modify('declare default element namespace "&lt;A href="http://schemas.adventure-works.com/Invoices"&gt;http://schemas.adventure-works.com/Invoices&lt;/A&gt;";&lt;BR&gt;&amp;nbsp; delete (/InvoiceList/Invoice/SalesPerson)[1]')&lt;BR&gt;WHERE StoreID = 1&lt;/P&gt;
&lt;P&gt;SELECT Invoices.query('declare default element namespace "&lt;A href="http://schemas.adventure-works.com/Invoices"&gt;http://schemas.adventure-works.com/Invoices&lt;/A&gt;";&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (InvoiceList/Invoice)[1]') DeletedSalesPerson&lt;BR&gt;FROM Stores&lt;BR&gt;WHERE StoreID = 1&lt;/P&gt;
&lt;P&gt;-- Use the nodes method to extract relational data&lt;BR&gt;declare @Invoices xml&lt;BR&gt;SELECT @Invoices = Invoices&lt;BR&gt;FROM Stores&lt;BR&gt;WHERE StoreID = 1&lt;BR&gt;SELECT nCol.value(&lt;A href="mailto:'@Product'"&gt;'@Product'&lt;/A&gt;, 'int') AS ProductID,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nCol.value(&lt;A href="mailto:'@Price'"&gt;'@Price'&lt;/A&gt;, 'money') AS Price&lt;BR&gt;FROM @Invoices.nodes('declare default element namespace "&lt;A href="http://schemas.adventure-works.com/Invoices"&gt;http://schemas.adventure-works.com/Invoices&lt;/A&gt;"; /InvoiceList/Invoice/Items/Item') as nTable(nCol)&lt;/P&gt;
&lt;P&gt;SELECT nCol.value(&lt;A href="mailto:'../../@InvoiceNo[1]'"&gt;'../../@InvoiceNo[1]'&lt;/A&gt;, 'int') AS InvoiceNo,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nCol.value(&lt;A href="mailto:'@Product[1]'"&gt;'@Product[1]'&lt;/A&gt;, 'int') AS ProductID,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nCol.value(&lt;A href="mailto:'@Price[1]'"&gt;'@Price[1]'&lt;/A&gt;, 'money') AS Price,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nCol.value(&lt;A href="mailto:'@Quantity[1]'"&gt;'@Quantity[1]'&lt;/A&gt;, 'int') AS Quantity&lt;BR&gt;FROM Stores CROSS APPLY Invoices.nodes('declare default element namespace "&lt;A href="http://schemas.adventure-works.com/Invoices"&gt;http://schemas.adventure-works.com/Invoices&lt;/A&gt;"; /InvoiceList/Invoice/Items/Item') AS nTable(nCol)&lt;BR&gt;ORDER BY InvoiceNo&lt;/P&gt;&lt;img src ="http://blog.blueshop.com.tw/josephlee/aggbug/48865.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>獨孤雲</dc:creator><title>OPENXML</title><link>http://blog.blueshop.com.tw/josephlee/archive/2006/12/24/48863.aspx</link><pubDate>Sun, 24 Dec 2006 09:46:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/josephlee/archive/2006/12/24/48863.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/josephlee/comments/48863.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/josephlee/archive/2006/12/24/48863.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/josephlee/comments/commentRss/48863.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/josephlee/services/trackbacks/48863.aspx</trackback:ping><description>&lt;P&gt;DECLARE @docHandle int&lt;BR&gt;declare @xmlDocument nvarchar(max) -- or xml type&lt;BR&gt;set @xmlDocument = N'&amp;lt;ROOT&amp;gt;&amp;lt;Customers CustomerID="XYZAA" ContactName="Joe" CompanyName="Company1"&amp;gt;&amp;lt;Orders CustomerID="XYZAA" OrderDate="2000-08-25T00:00:00"/&amp;gt;&amp;lt;Orders CustomerID="XYZAA" OrderDate="2000-10-03T00:00:00"/&amp;gt;&amp;lt;/Customers&amp;gt;&amp;lt;Customers CustomerID="XYZBB" ContactName="Steve" CompanyName="Company2"&amp;gt;No Orders yet!&amp;lt;/Customers&amp;gt;&amp;lt;/ROOT&amp;gt;'&lt;/P&gt;
&lt;P&gt;EXEC sp_xml_preparedocument @docHandle OUTPUT, @xmlDocument&lt;/P&gt;
&lt;P&gt;-- Use OPENXML to provide rowset consisting of customer data.&lt;BR&gt;INSERT Customers &lt;BR&gt;SELECT * &lt;BR&gt;FROM OPENXML(@docHandle, N'/ROOT/Customers') &lt;BR&gt;&amp;nbsp; WITH Customers&lt;/P&gt;
&lt;P&gt;-- Use OPENXML to provide rowset consisting of order data.&lt;BR&gt;INSERT Orders &lt;BR&gt;SELECT * FROM OPENXML(@docHandle, N'//Orders') WITH Orders&lt;/P&gt;
&lt;P&gt;-- Using OPENXML in a SELECT statement.&lt;BR&gt;SELECT * FROM OPENXML(@docHandle, N'/ROOT/Customers/Orders') &lt;BR&gt;WITH (CustomerID nchar(5) &lt;A href="mailto:'../@CustomerID'"&gt;'../@CustomerID'&lt;/A&gt;, OrderDate datetime)&lt;/P&gt;
&lt;P&gt;-- Remove the internal representation of the XML document.&lt;BR&gt;EXEC sp_xml_removedocument @docHandle&lt;/P&gt;
&lt;P&gt;select * from Customers&lt;BR&gt;select * from Orders&lt;/P&gt;&lt;img src ="http://blog.blueshop.com.tw/josephlee/aggbug/48863.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>獨孤雲</dc:creator><title>Partitioned Tables</title><link>http://blog.blueshop.com.tw/josephlee/archive/2006/12/23/48859.aspx</link><pubDate>Sat, 23 Dec 2006 16:29:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/josephlee/archive/2006/12/23/48859.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/josephlee/comments/48859.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/josephlee/archive/2006/12/23/48859.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/josephlee/comments/commentRss/48859.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/josephlee/services/trackbacks/48859.aspx</trackback:ping><description>&lt;P&gt;-- Create partition function&lt;BR&gt;USE AdventureWorks&lt;BR&gt;GO&lt;/P&gt;
&lt;P&gt;CREATE PARTITION FUNCTION pf_OrderDate (datetime)&lt;BR&gt;AS RANGE RIGHT&lt;BR&gt;FOR VALUES ('01/01/2004', '01/01/2005')&lt;/P&gt;
&lt;P&gt;-- Add filegroups and create partition scheme&lt;BR&gt;ALTER DATABASE AdventureWorks ADD FILEGROUP fg1&lt;BR&gt;ALTER DATABASE AdventureWorks ADD FILEGROUP fg2&lt;BR&gt;ALTER DATABASE AdventureWorks ADD FILEGROUP fg3&lt;BR&gt;ALTER DATABASE AdventureWorks ADD FILEGROUP fg4&lt;BR&gt;GO&lt;/P&gt;
&lt;P&gt;ALTER DATABASE AdventureWorks &lt;BR&gt;ADD FILE &lt;BR&gt;( NAME = data1,&lt;BR&gt;&amp;nbsp; FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\AWd1.ndf',&lt;BR&gt;&amp;nbsp; SIZE = 1MB,&lt;BR&gt;&amp;nbsp; MAXSIZE = 100MB,&lt;BR&gt;&amp;nbsp; FILEGROWTH = 1MB)&lt;BR&gt;TO FILEGROUP fg1&lt;BR&gt;GO&lt;/P&gt;
&lt;P&gt;ALTER DATABASE AdventureWorks &lt;BR&gt;ADD FILE &lt;BR&gt;( NAME = data2,&lt;BR&gt;&amp;nbsp; FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\AWd2.ndf',&lt;BR&gt;&amp;nbsp; SIZE = 1MB,&lt;BR&gt;&amp;nbsp; MAXSIZE = 100MB,&lt;BR&gt;&amp;nbsp; FILEGROWTH = 1MB)&lt;BR&gt;TO FILEGROUP fg2&lt;BR&gt;GO&lt;/P&gt;
&lt;P&gt;ALTER DATABASE AdventureWorks &lt;BR&gt;ADD FILE &lt;BR&gt;( NAME = data3,&lt;BR&gt;&amp;nbsp; FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\AWd3.ndf',&lt;BR&gt;&amp;nbsp; SIZE = 1MB,&lt;BR&gt;&amp;nbsp; MAXSIZE = 100MB,&lt;BR&gt;&amp;nbsp; FILEGROWTH = 1MB)&lt;BR&gt;TO FILEGROUP fg3&lt;BR&gt;GO&lt;/P&gt;
&lt;P&gt;ALTER DATABASE AdventureWorks &lt;BR&gt;ADD FILE &lt;BR&gt;( NAME = data4,&lt;BR&gt;&amp;nbsp; FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\AWd4.ndf',&lt;BR&gt;&amp;nbsp; SIZE = 1MB,&lt;BR&gt;&amp;nbsp; MAXSIZE = 100MB,&lt;BR&gt;&amp;nbsp; FILEGROWTH = 1MB)&lt;BR&gt;TO FILEGROUP fg4&lt;BR&gt;GO&lt;/P&gt;
&lt;P&gt;CREATE PARTITION SCHEME ps_OrderDate&lt;BR&gt;AS PARTITION pf_OrderDate &lt;BR&gt;TO (fg1, fg2, fg3, fg4)&lt;BR&gt;GO&lt;/P&gt;
&lt;P&gt;-- Create partitioned table&lt;BR&gt;CREATE TABLE dbo.PartitionedTransactions&lt;BR&gt;(&lt;BR&gt;&amp;nbsp;TransactionID int IDENTITY(1,1) NOT NULL,&lt;BR&gt;&amp;nbsp;ProductID int NOT NULL,&lt;BR&gt;&amp;nbsp;TransactionDate datetime NOT NULL DEFAULT (getdate()),&lt;BR&gt;&amp;nbsp;TransactionType nchar(1) NOT NULL&lt;BR&gt;)&lt;BR&gt;ON ps_OrderDate(TransactionDate)&lt;BR&gt;GO&lt;/P&gt;
&lt;P&gt;-- Insert data&lt;BR&gt;INSERT INTO dbo.PartitionedTransactions&lt;BR&gt;SELECT&amp;nbsp;ProductID, TransactionDate, TransactionType&lt;BR&gt;FROM Production.TransactionHistory&lt;BR&gt;GO&lt;/P&gt;
&lt;P&gt;INSERT INTO dbo.PartitionedTransactions&lt;BR&gt;VALUES&lt;BR&gt;(1, '01/01/2005', 'S')&lt;BR&gt;GO&lt;/P&gt;
&lt;P&gt;-- View partition metadata&lt;BR&gt;SELECT * FROM sys.Partitions&lt;BR&gt;WHERE [object_id] = OBJECT_ID('dbo.PartitionedTransactions')&lt;/P&gt;
&lt;P&gt;-- View data with partition number&lt;BR&gt;SELECT TransactionID, TransactionDate, $Partition.pf_OrderDate(TransactionDate) AS PartitionNo&lt;BR&gt;FROM dbo.PartitionedTransactions&lt;/P&gt;
&lt;P&gt;-- Verify lowest value in each partition&lt;BR&gt;SELECT MIN(TransactionDate) AS FirstTran, $Partition.pf_OrderDate(TransactionDate) AS PartitionNo&lt;BR&gt;FROM dbo.PartitionedTransactions&lt;BR&gt;GROUP BY $Partition.pf_OrderDate(TransactionDate)&lt;BR&gt;ORDER BY PartitionNo&lt;/P&gt;&lt;img src ="http://blog.blueshop.com.tw/josephlee/aggbug/48859.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>