扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:Shankar Pal 来源:microsoft 2007年9月16日
关键字: 实施策略 SQL Server SQL Server 2005 数据库
添加业务逻辑
可以用多种方式将业务逻辑添加到 XML 数据中:
• 您可以编写行或列约束,在插入和修改 XML 数据的过程中实施特定于域的约束。
• 您可以在 XML 列上编写相应的触发器,使其当您在该列中插入或更新值时引发。该触发器可以包含特定于域的验证规则,或者填充属性表。
• 可以使用托管代码编写 SQLCLR 函数并向其传递 XML 值,并且使用由 System.Xml 命名空间提供的 XML 处理功能。这方面的一个例子是将 XSL 转换应用于 XML 数据,如下所示。您还可以将 XML 反序列化为一个或多个托管类,并且使用托管代码来操作它们。
• 您可以编写 T-SQL 存储过程和函数,激活 XML 列上的处理以满足您的业务需要。
示例:应用 XSL 转换
考虑 CLR 函数 TransformXml(),它接受一个 XML 数据类型实例和一个存储在文件中的 XSL 转换,将该转换应用于 XML 数据,并且在结果中返回转换后的 XML。用 C# 编写的主干函数如下所示:
|
在注册该程序集,并且创建了对应于 TransformXml() 的用户定义 T-SQL 函数 SqlXslTransform() 之后,就可以像在下面的查询中那样从 T-SQL 中调用该函数:
SELECT SqlXslTransform (xCol, 'C:\yukon\xsltransform.xsl')
FROM T
WHERE xCol.exist('/book/title/text()[contains(.,"custom")]') =1
查询结果包含转换后的 XML 的行集。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者