科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道[Sql server]2005的XML最佳实施策略(11)

[Sql server]2005的XML最佳实施策略(11)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Microsoft SQL Server 2005 为 XML 数据处理提供了广泛的支持。XML 值可以自然地存储在 XML 数据类型列中,而后者可以根据 XML 架构集合进行类型化,或者保持非类型化。

作者:Shankar Pal 来源:microsoft 2007年9月16日

关键字: 实施策略 SQL Server SQL Server 2005 数据库

  • 评论
  • 分享微博
  • 分享邮件
 

示例:创建属性表

假设您希望提升作者的名字。书籍有一个或多个作者,因此名字是一个多值属性。每个名字都存储在属性表的单独行中。在属性表中复制了基表的主键以便向后联接。

create table tblPropAuthor (propPK int, propAuthor varchar(max))

示例:创建用户定义的函数以便从 XML 实例生成行集

下面的表值函数 udf_XML2Table 接受一个主键值和一个 XML 实例。它将检索 元素的所有作者的名字,并返回(主键,名字)对行集。

create function udf_XML2Table (@pk int, @xCol xml)

returns @ret_Table table (propPK int, propAuthor varchar(max))

with schemabinding

as

begin

insert into @ret_Table

select @pk, nref.value('.', 'varchar(max)')

from @xCol.nodes('/book/author/first-name') R(nref)

return

end

示例:创建触发器以填充属性表

插入触发器:在属性表中插入行

create trigger trg_docs_INS on T for insert

as

declare @wantedXML xml

declare @FK int

select @wantedXML = xCol from inserted

select @FK = PK from inserted

insert into tblPropAuthor

select * from dbo.udf_XML2Table(@FK, @wantedXML)

删除触发器:基于删除行的主键值,从属性表中删除行

create trigger trg_docs_DEL on T for delete

as

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章