使用xml生成查询用sql语句

原创 2004年04月29日 21:03:00

由于项目的需要,要编写大量的sql查询,而项目成员编写的格式有很多的不同,于是想到利用XML统一做方面的工作(具体如何转换,大家可以根据项目编程的语言来实现)。具体如下:

<data>
<select>''</select>
<from_table table_name=''>
<field_name
[connection]='AND(default)|OR'
[bool_type]='=(default)|NOT'
[contain]='=|<>|!=|>|>=|!>|<|<=|!<|LIKE(value cannot include "@comma@")|BETWEEN|IN'
[value]='1|1@comma@20|2003-04-01|2003-04-01@comma@2003-04-01|ab|NULL'
[special]='eg.:not in (1,2,3)|IS [NOT] NULL'
/>
<field_name .../>
<join>
<join_table table_name=''
[join_type]='INNER(default)|FULL OUTER|LEFT OUTER|RIGHT OUTER|CROSS'
join_condition='from_table_name.field_name=join_table_name.field_name'
>
<field_name deal like the first field/>
<field_name ...>
</join_table>
</join>
<orderby value=''/>
<groupby value=''/>
<having value=''/>
</data>

说明:
共七个节点:

  1. select节点:所需要得到的字段
  2. from_table:表源,该节点的table_name属性为表源的表名。
    field_name:字段名,构成查询的条件。其包含的属性介绍如XML串所示(下同)。
  3. join:联接条件
  4. join_table:联接的表
  5. orderby :排序的方法
  6. groupby:分组条件
  7. having:聚合条件

下面以SQL Server2000自带的Northwind数据库为例,介绍具体的做法:

SQL:
SELECT UnitsInStock, ProductID, ProductName
FROM Products
WHERE UnitsInStock BETWEEN 15 AND 25
ORDER BY UnitsInStock

XML:

<data>

<select>UnitsInStock, ProductID, ProductName</select>

<from_table table_name=’ Products’/>

<UnitsInStock contain=’BETWEEN’ value=’15@comma@25’>

</from_table>

<orderby>UnitsInStock</orderby>
</data>

 

由于时间比较仓促,还会有一些考虑不周全的地方,请大家讨论、补充,多谢了。如有疑问,也可以直接给我Email(chinasoe@163.net

SQL查询 生成XML

1 select t.UserNameXML.value('(/b/UserName)[1]','varchar(20)') as Name /*查询XML中的UserName值*/ from (se...
  • Fanbin168
  • Fanbin168
  • 2016年07月08日 22:40
  • 856

sql server T-Sql操作Xml 和 数据生成xml

T-Sql操作Xml 一、前言 SQL Server 2005 引入了一种称为 XML 的本机数据类型。用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列;此外,还允许带有变量和参数...
  • wangzhiqiang123456
  • wangzhiqiang123456
  • 2013年12月05日 09:53
  • 1748

sqlserver 数据库自动生成xml语句

没想到sqlserver 中可以直接生成xml数据,可能这个功能在sqlserver2005中已经存在了,但我觉得现在才是用的时候, 语句:SELECT * FROM College FOR XML...
  • xunbaogang
  • xunbaogang
  • 2018年02月05日 17:26
  • 36

Hibernate使用sql语句查询

import java.util.Iterator; import java.util.List; import java.util.Map; import org.hibernate.Hibe...
  • jspamd
  • jspamd
  • 2013年09月11日 20:03
  • 4972

sql查询语句中使用if示例

1,统计金额大于0 条件:查询严格金额大于0 select sum(if(money>0,money,0))  from  tmz_userinfo; 2,示例: hits点击量    如果空的话,就...
  • will5451
  • will5451
  • 2017年03月18日 21:14
  • 2712

动态生成mybatis的xml文件,其中的sql语句生成

 以findDTOByID为例。做一个说明例子,Forum为主表,Subject为Forum的字表,Post为Subject的字表。在Post里包含一个字段为Poster,指向Employee表...
  • vcshcn
  • vcshcn
  • 2014年10月21日 23:39
  • 3755

SQL查询xml内容

DECLARE @x xml SET @x = ' 0 284073437   ' SELECT @x.query('/getDealDetail/buyerUin')
  • a497785609
  • a497785609
  • 2011年12月19日 15:17
  • 1095

通过XML文件存储sql语句,方便程序调用

xml文件的中sql的写法: 下面文件的文件名:sql_config.xml            class="twaver.Node">                            al...
  • weijunyuan1019
  • weijunyuan1019
  • 2011年06月16日 14:07
  • 2916

Android学习笔记---Android利用Sqlite,并且用sql语言操作SQLite数据库

6.对数据库进行操作:   一下是对数据库的操作代码,包括添加,删除,更新,查询,和分页,统计 --------------------------------------------------...
  • lidew521
  • lidew521
  • 2013年03月10日 01:29
  • 4441

使用Excle生成SQL语句总结

前言:现在做的项目给的数据保存在是excel文件里面,我们需要将excel文件里面的数据保存的数据中,虽然现在已经有工具可以直接导入,但是考虑到安全问题、并且有的excel中的列我们并不需要。所以,就...
  • xinghuo0007
  • xinghuo0007
  • 2017年06月19日 15:39
  • 418
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用xml生成查询用sql语句
举报原因:
原因补充:

(最多只允许输入30个字)