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。



相關文章

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.