SQL Server 2005的XML支持与异常处理
2007-05-15 09:27:37 来源:WEB开发网本文给出了类型化和非类型化XML列各自的优势、将SQL Server 2000数据库迁移到SQL Server2005,新的异常处理如何工作;如果表的架构发生更改,我如何执行操作等,供大家参考!
SQL Server 2005 包括对Transact-SQL (T-SQL) 语言的几项重要改进。新增功能之一是一种新的触发器,它在数据定义语言 (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。
- ››SQL Server 2008 R2 下如何清理数据库日志文件
- ››sqlite 存取中文的解决方法
- ››SQL2005、2008、2000 清空删除日志
- ››SQL Server 2005和SQL Server 2000数据的相互导入...
- ››sql server 2008 在安装了活动目录以后无法启动服...
- ››sqlserver 每30分自动生成一次
- ››sqlite 数据库 对 BOOL型 数据的插入处理正确用法...
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
更多精彩
赞助商链接