仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 651|回复: 8
打印 上一主题 下一主题

[学习教程] MSSQL网页设计SQL Server Yukon 中的XML 数据范例

[复制链接]
活着的死人 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:30:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
对于insert操作,只需要把event_type改成DELETE_ROWS_EVENT;对于delete操作,改成WRITE_ROWS_EVENTserver|xml|数据|数据范例
SQLServerYukon中的XML数据范例

SuhilSrinivas

翻译:朱二

原文出处:http://www.c-sharpcorner.com/Longhorn/Yukon/XmlDataTypesInYukon.asp
形貌  这篇文章先容了SQLServer最新版本YukonBeta1中的新增数据范例。对任何懂得SQLServer2000和其他数据库的开辟者来讲,本文是一个好的出发点。先容  当SQLServer2000刊行之时,具有很多撑持XML和Internet使用的特征。把XML集成到数据库引擎中是值得思索的勉力。正如我们所见,SQL?Server2000的后继版本SQLServerYukonbeta1已充实使用各类工具和办法将XML集成到SQLServer的数据库引擎傍边。 上面是一些有关SQLServer数据库与XML集成的一些主要特征1、新增XML数据范例2、数据库引擎对XQuery的撑持3、对SQLXML的加强和扩大4、对FORXML和OPENXML的加强5、新增XMLDML(XML数据修正言语),用来对作为XML数据范例存储的XML数据。6、XQuery计划器。  在这篇文章里,我仅限于会商SQLServerYukonbeta1中的XML新数据范例。  如今,愈来愈多使用程序撑持XML,可以供应一个壮大的修正/处置/保护XML数据是对一个数据库来讲是主要的。我们晓得,在SQLServer2000内里,能够把XML文档利用varchar范例保留在数据库中,并经由过程剖析提取XML文档中的数据,如今Yukon不再必要这么做了。
  新的XML数据范例将以非文本的体例贮存,这使开辟者能够查询一个特定的节点而不必要提取、剖析然后才干这个XML文档。新的XML数据范例使开辟事情中对数据库层面的XML处置变的简单.

  XML数据范例象任何其他数据范例一样能够作为字段、变量、大概存储历程/用户自界说函数的参数,表函数,触发器,视图等等。Yukon同意在XML字段上有Chek束缚,这包管了数据的完全性。XML数据范例能够是界说的,也能够非界说的。

  界说的XML是一XML变量,参数大概字段并有一个在数据库中注册的XML架构与之联系关系。换句话说,Yukon撑持架构。这一点使Yukon主动反省XML文档片断的完全性和分歧性。开辟者利用CREATE?XMLSCHEMA注册一个XML架构,然后把XML实体联系关系到该架构。一个被联系关系的XML架构不克不及从SQLServer中删除直到这些XML实体绑定到其他存在架构。

  另外一方面,一个不决义的XML没有架构与之联系关系。即便把XML绑定到构架是可选的,但它是首选的体例。界说的XML一切的节点将被作为当地SQL范例(就象char,varchar等),从而使界说XML存储的更加松散。从功能的概念上看,利用界说的XML是更好的选择。已存在的函数象CAST和CONVERT被加强以撑持XML数据范例的转换。加强的OPENROWSET同意XML批量加载。

  与XML数据范例一同呈现的几个函数用于会见和更新该数据范例。撑持XML数据范例的办法有:1、query():这个办法用于从一个XML变量失掉一个节点。此办法前往一个XML节点大概XML片断。2、value():这个办法在XML变量上使用XQuery,前往一个数目值,该值是一个当地SQL范例而不是一个??XML节点。3.exist():望文生义,这个办法反省XML变量是不是包括特定的节点,大概在XQuery失掉一个空了局集的时分,判别是不是包括其他字串。4.modify():此办法利用XMLDML语法更新XML变量。上面给出利用XML数据范例和上述办法的例子
DECLARE@XMLXMLDECLARE@Namevarchar(20)DECLARE@AgeintDECLARE@XMLfragmentXMLDECLARE@flagbitSET@XML=25NewCastlemaleSET@Name=@XML::value(/student/@name,varchar(20))SET@Age=@XML::value(/student/age,int)SET@XMLfragment=@XML::query(/student/city)SET@flag=@XML::exist(/student/age)PRINT@Name+is+CONVERT(varchar(5),@Age)+YearsoldPRINTCONVERT(nvarchar,@XMLfragment)PRINT@flag
下图中的动静窗口是前往的了局。上图演示CONVERT函数的用法:把XML数据范例转换成nvarchar范例。

下图演示了modify办法的用法。


总结  这篇文章复杂触及了XML数据范例的一些特征,而不是全体特征。Yukon对XML的撑持实在能够匡助使用程序的开辟者构建高度XML撑持的internet软件。
--------------------------作者先容  Suhil?Srinivas是一名履历丰厚的开辟者,他利用各类Microsoft手艺举行开辟。Suhil是一名MCP,他很热情的引导和匡助老手。在构建基于Web、无线收集和背景体系方面有着丰厚的履历,而且他一向为各类企业做征询事情,出格的是Suhil一向处置于信誉卡和付出处置行业。别的,他仍是Eduware?KnowledgeSystems(EKS)的懂事长。  作为一家公司,EKS具有几款合用于任何范围的教导机构的产物。个中一次要产物是School-ERP体系,此产物完整改动了教导机构一样平常办理形式。其他产物中,也有一些合用于小型和中型的医疗服务供应机构。EKS也供应征询服务并经由过程在印度Bangalore的做事处为外洋客户供应开辟服务。
 
先说DDL的分类。有一类DDL,是不需要重建表的,比如加非聚簇索引。这类操作其实不会丢数据,也是在原表上直接操作,对于我们“以恢复数据为目的”的闪回,是可以先忽略的。另外一类,则是会影响到表数据的操作。
莫相离 该用户已被删除
沙发
发表于 2015-1-19 15:49:09 | 只看该作者
大家注意一点。如下面的例子:
灵魂腐蚀 该用户已被删除
板凳
发表于 2015-1-25 17:31:42 | 只看该作者
另一个是把SQL语句写到服务器端,就是所谓的SP(存储过程);
老尸 该用户已被删除
地板
发表于 2015-2-3 12:07:40 | 只看该作者
是否碎片会引发效率问题?这都是需要进一步探讨的东西。varbinary(max)代替image也让SQLServer的字段类型更加简洁统一。
飘飘悠悠 该用户已被删除
5#
发表于 2015-2-8 20:57:02 | 只看该作者
再开发调试阶段和OLAP环境中,外键是可以建立的。新版本中加入了SETNULL和SETDEFAULT属性,能够提供能好的级联设置。
精灵巫婆 该用户已被删除
6#
发表于 2015-2-26 10:55:11 | 只看该作者
对于微软系列的东西除了一遍遍尝试还真没有太好的办法
小妖女 该用户已被删除
7#
发表于 2015-3-8 13:47:49 | 只看该作者
记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。
爱飞 该用户已被删除
8#
发表于 2015-3-16 01:48:56 | 只看该作者
having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。
小魔女 该用户已被删除
9#
发表于 2015-3-22 18:36:56 | 只看该作者
但换公司用MSSQL2K感觉自己好像根本就不了解MSSQL。什么DTS触发器以前根本没用过。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 23:09

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表