SQL Server 2005的XML支援與異常處理

來源:互聯網
上載者:User

  本文給出了類型化和非類型化XML列各自的優勢、將SQL Server 2000資料庫遷移到SQL Server2005,新的異常處理如何工作;如果表的架構發生更改,我如何執行操作等,供大家參考!

  SQL Server 2005 包括對Transact-SQL (T-SQL) 語言的幾項重要改進。新增功能之一是一種新的觸發器,它在資料定義語言 (Data Definition Language) (DDL) 語句運行時激發。在跟蹤或保護資料庫物件的建立和修改,或對資料庫伺服器變更時,DDL 觸發程序非常有用。另一個新功能涉及異常處理,該功能因包含TRY/CATCH 塊而在異常處理方面向前飛躍了一大步。另一組新功能則以新的XML資料類型為中心,該資料類型在與SQL Server互動的公司專屬應用程式程式中管理XML資料方面前進了一大部。現在,XML 文檔或片段可以儲存於 XML 列、綁定到架構、還可以利用 XQuery 文法查詢。本文匯總各類問題來做出詳細解答。

  問:類型化和非類型化 XML 列各自的優勢是什麼?

  答:非類型化 XML 列可以儲存所有格式規範的 XML 片段或文檔,而類型化 XML 列可以綁定到 XML 結構描述。如果不確定 XML 將遵循哪個架構,則非類型化 XML 很有用。例如,如果您必須使用另一個應用程式的某些 XML,但無法確定資料將遵循哪個 XML 結構描述,則可以使用非類型化 XML 列來執行這項工作。當然,非類型化 XML 也會帶來其他問題。例如,不能針對某個架構編程,因此很難有效地使用 XML。但有時無法避免非類型化 XML。建立非類型化 XML 列非常簡單,如下所示:

CREATE TABLE Foo(FooID INT, someXml XML)

  架構不綁定到 XML 列的另一個結果是,SQL Server® 2005 會將非類型化 XML 作為一個字串儲存。這是件好事還是壞事?實際上,既是好事也是壞事。將 XML 作為字串儲存使您可以更靈活地儲存任何 XML 片段或文檔。根據應用程式的商務規則,您可能需要這種方式。另一方面,將 XML 作為字串儲存意味著,與類型化 XML 相比,既不能有效地儲存也不能有效地搜尋 XML 資料。並且既不會告訴 SQL Server XML 將包含哪些內容,也不會告訴它階層和 XML 節點的資料類型。但請記住,僅僅因為這些是非類型化 XML 列並不意味著它們可以接受您設計出的任何格式。類型化和非類型化 XML 列仍然只接受格式規範的 XML。



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。