易截截图软件、单文件、免安装、纯绿色、仅160KB

DB2 SQL/XML使用

函数:
XMLPARSE:解析字符或者大对象二进制数据,产生XML
XMLSERIALIZE:将XML值转换为字符或者大对象二进制数据
XMLVALIDATE:根据XML schema校验XML值的有效性
XMLEXISTS:检测XQuery是否返回结果(如由一个或多个项所组成的序列)
XMLQUERY:执行一个XQuery并以一个序列返回结果
XMLTABLE:执行一个XQuery,以关系数据表形式返回结果(如果可能的话)
XMLCAST:XML类型转换
XMLEXISTS:
SELECT name from clients
WHERE xmlexists(
'$c/Client/Address[zip="95116"]'
passing clients.contact as "c"

说明: 
在WHERE子句中调用XMLEXISTS函数,参数指定了XML路径表达式,DB2据此导航到XML文档邮编元素并且查找值 95116。 “$c/Client/Address”指定了DB2在XML文档中定位邮编元素的路径。美元符号($)用来指定变量。passing clients.contact as "c"对变量c进行定义。这里,“clients”是表名,“contact”是 XML列的列名。换言之,XML文档传递给了变量c。 DB2检索“contact”列中的XML数据,从根节“client”向下,通过节点“Address”到节点“zip”,经过目标邮编匹配检查判断该客户是否居住在目标地区。
在DB2 9.5中进行了简化:
SELECT name from clients
WHERE xmlexists(
'$CONTACT/Client/Address[zip="95116"]'

XMLQuery:
SELECT xmlquery('$c/Client/email' passing contact as "c")
from clients
WHERE status = 'Gold' 
使用XQuery FLWOR表达式中的for:
SELECT name, xmlquery(
‘for $e in $c/Client/email[1] return $e’
passing contact as “c”
)
from clients
WHERE status = ‘Gold’ 
SELECT xmlquery('for $e in $c/Client/email[1]/text()
return <p>{$e}</p>'
passing contact as "c")
from clients
WHERE status = 'Gold' 
XQuery的FLWOR表达式 FLWOR是几个词首字母的缩写: 
„FOR:对序列进行迭代 
LET:绑定变量 
WHERE:定义过滤器 
ORDER:将过滤结果排序
RETURN:返回查询结果 
实例:
CREATE TABLE dept(deptID CHAR(8),deptdoc XML);  
将如下XML文档插入到deptdoc列:


相关文档:

sql 修改列名及表名

代码如下:
EXEC sp_rename '表名.[原列名]', '新列名', 'column'
*************************************************************************
Transact-SQL 参考
sp_rename
更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。
示例
A. 重命名表
下例将表 customers 重命名为 custs。 ......

sql 服务器无法启动,解决方案

 
对于服务器上数据的备份工作是网管员日常工作中最重要的工作之一,SQLServerAgent服务使得我们可以用SQL上的“数据库维护计划”功
能来自动备份数据,但最近我发现服务器上SQLServerAgent服务无法启动了,回想最近所做的操作,原来是因为我把SQL中
Builtin/Administrators这个帐号的服务器访问权限禁止 ......

SQL语句效率问题的几点总结


1. SQL优化的原则是:
  将一次操作需要读取的BLOCK数减到最低,即在最短的时间达到最大的数据吞吐量。 
  调整不良SQL通常可以从以下几点切入: 
  检查不良的SQL,考虑其写法是否还有可优化内容 
  检查子查询  考虑SQL子查询是否可以用简单连接的方式进行重新书写  ......

SQL SERVER操作ACCESS的存储过程

/*
--作用:SQL SERVER操作ACCESS的存储过程
----------------------用法-------------------------------
--创建表tc
exec sp_operate_access 'create table tc(id int)','c:\db1.mdb'
go
--在tc表插入数据
exec sp_operate_access 'insert into tc(id) values(1)','c:\db1.mdb'
go
--删除tc表的数据
exec sp_op ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号