在SQL2000查询中使用XDR的例子

XDR不会不知道吧?就是简化的XML-Data啦。现在示范一个如何实现这样的查询

SELECT o.OrderID, o.OrderDate from Orders o, Customers c,

WHERE o.CustomerID = c.CustomerID and c.CompanyName = ?

Code:

<%@ Language=VBScript %>

<%

    Dim sConn

    sConn = "Provider=SQLOLEDB; Data Source=(local); Initial Catalog=Northwind; User ID=SA;Password=;"

   

    Dim adoConn

    Set adoConn = Server.CreateObject("ADODB.Connection")

    adoConn.ConnectionString = sConn

    adoConn.CursorLocation = 3 'adUseClient

    adoConn.Open

   

    Dim adoCmd

    Set adoCmd = CreateObject("ADODB.Command")

    Set adoCmd.ActiveConnection = adoConn

    adoCmd.CommandText = "Customer[@CompanyName=""Tortuga Restaurante""]"

    adoCmd.Dialect = "{ec2a4293-e898-11d2-b1b7-00c04f680c56}"

   

    adoCmd.Properties("Mapping Schema") = "Orders.xml"

    adoCmd.Properties("Base Path") = "C:\INETPUB\WWWROOT\PBA\"

    adoCmd.Properties("Output Stream") = Response

   

    Response.write "<XML ID='MyDataIsle'>"

    adoCmd.Execute , , 1024 'adExecuteStream

    Response.write "</XML>"

%>

Result:

<XML ID="MyDataIsle">

<Customer CustomerID="TORTU" CompanyName="Tortuga Restaurante">

  <Order CustomerID="TORTU" OrderID="10276" OrderDate="1996-08-08T00:00:00" />

  <Order CustomerID="TORTU" OrderID="10293" OrderDate="1996-08-29T00:00:00" />

  <Order CustomerID="TORTU" OrderID="10304" OrderDate="1996-09-12T00:00:00" />

  <Order CustomerID="TORTU" OrderID="10319" OrderDate="1996-10-02T00:00:00" />

  <Order CustomerID="TORTU" OrderID="10518" OrderDate="1997-04-25T00:00:00" />

  <Order CustomerID="TORTU" OrderID="10576" OrderDate="1997-06-23T00:00:00" />

  <Order CustomerID="TORTU" OrderID="10676" OrderDate="1997-09-22T00:00:00" />

  <Order CustomerID="TORTU" OrderID="10842" OrderDate="1998-01-20T00:00:00" />

  <Order CustomerID="TORTU" OrderID="10915" OrderDate="1998-02-27T00:00:00" />

  <Order CustomerID="TORTU" OrderID="11069" OrderDate="1998-05-04T00:00:00" />

</Customer>

</XML>  

Orders.xml

<?xml version="1.0" ?>

<Schema xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes"

xmlns:sql="urn:schemas-microsoft-com:xml-sql">

  <ElementType name="Order" sql:relation="Orders">

    <AttributeType name="CustomerID" />

    <AttributeType name="OrderID" />

    <AttributeType name="OrderDate" />

    <attribute type="CustomerID" sql:field="CustomerID" />

    <attribute type="OrderID" sql:field="OrderID" />

    <attribute type="OrderDate" sql:field="OrderDate" />

  </ElementType>

  <ElementType name="Customer" sql:relation="Customers">

    <AttributeType name="CustomerID" />

    <AttributeType name="CompanyName" />

    <attribute type="CustomerID" sql:field="CustomerID" />

    <attribute type="CompanyName" sql:field="CompanyName" />

    <element type="Order">

      <sql:relationship key-relation="Customers" key="CustomerID" foreign-key="CustomerID" foreign-

relation="Orders" />

    </element>

  </ElementType>

</Schema>   

时间: 2024-11-03 17:19:06

在SQL2000查询中使用XDR的例子的相关文章

T-SQL 查询中使用的函数之系统函数

函数 查询中使用的函数   在查询语句中,不仅可查询表中列的值而且可以使用内部函数查询数据库中不同类型的信息.可以在SELECT列表,WHERE子句和任何允许表达式的地方使用内部函数.这些函数都是T-SQL对SQL的扩展.Adaptive Server提供的内部函数可以分成以下几类: l         系统函数.返回数据库中的信息: l         字符串函数.用于处理字符串或字符串表达式: l         text函数.用于处理text和image类型的数据: l         数

T-SQL命令在SQL Server查询中的运用

server 首先需要说明的是这篇文章的内容并不是如何调节SQL Server查询性能的(有关这方面的内容能写一本书),而是如何在SQL Server查询性能的调节中利用SET STATISTICS IO和SET STATISTICS TIME这二条被经常忽略的Transact-SQL命令的. 从表面上看,查询性能的调节是一件十分简单的事.从本质上讲,我们希望查询的运行速度能够尽可能地快,无论是将查询运行的时间从10分钟缩减为1分钟,还是将运行的时间从2秒钟缩短为1秒种,我们最终的目标都是减少运

如何查询中where和having的区别

如何查询中where和having的区别: having子句与where有相似之处但也有区别,都是设定条件的语句. 在查询过程中聚合语句(sum,min,max,avg,count)要比having子句优先执行.而where子句在查询过程中执行优先级别优先于聚合语句(sum,min,max,avg,count). 简单说来: where子句: select sum(num) as rmb from order where id>10 //只有先查询出id大于10的记录才能进行聚合语句 havin

thinkphp中多表查询中防止数据重复的sql语句(必看)_php技巧

下面先来看看例子: table id name 1 a 2 b 3 c 4 c 5 b 库结构大概这样,这只是一个简单的例子,实际情况会复杂得多. select *, count(distinct name) from table group by name 结果: id name count(distinct name) 1 a 1 2 b 1 3 c 1 最后一 项是多余的,不用管就行了 tp2.0手册   搜索连贯操作 可看到相关的资料 SELECT cat_id, COUNT(*) AS

MySQL的子查询中FROM和EXISTS子句的使用教程_Mysql

FROM 子查询FROM 子句中的子查询 MySQL FROM 子查询是指 FROM 的子句作为子查询语句,主查询再到子查询结果中获取需要的数据.FROM 子查询语法如下: SELECT ... FROM (subquery) AS name ... 子查询会生成一个临时表,由于 FROM 子句中的每个表必须有一个名称,因此 AS name 是必须的.FROM 子查询也称为衍生数据表子查询. FROM 子查询实例 table1: s1 s2 1 5 2 12 3 20 FROM 子查询 SQL

数据库的数据查询中使用JOIN及子查询有什么缺陷,该如何改善

问题描述 数据库的数据查询中使用JOIN及子查询有什么缺陷,该如何改善 数据库的数据查询中使用JOIN及子查询有什么缺陷,该如何改善 解决方案 泛泛说不好说,关键看你的查询算法.特别是子查询,用的不好在时间和空间上开销很大.这个和编程中的算法类似,你需要对查询本身和算法本身要有理解,这个改善不是查询本身的改善.而是寻求更高效的算法. 解决方案二: http://segmentfault.com/q/1010000000134455 最重要的还是设计好数据库schema等,来减少数据的混合查询 解

sql子查询中列别名在主查询中无效

问题描述 sql子查询中列别名在主查询中无效 CREATE PROCEDURE dbo.query_test( @i_begin_time varchar(128) IN, /* 开始时间 / @i_end_time varchar(128) IN, / 结束时间 / @i_bussiness_tpe varchar(512) IN, / 类型 ) as declare @v_sql varchar(16384)/* 定义 需要执行的sql / declare @Rtime varchar(12

Python Web框架Pylons中使用MongoDB的例子

 这篇文章主要介绍了Python Web框架Pylons中使用MongoDB 的例子,大家参考使用 Pylons 经过漫长的开发,终于放出了 1.0 版本.对于正规的产品开发来说,1.0 版本的意义很大,这表明 Pylons 的 API 终于稳定下来了.   Pylons 虽是山寨 Rails 而生,但作为一个纯 Python 的 Web 框架,它有一个鲜明的特点:可定制性强.框架每一层都没重新发明轮子,而是尽量整合现有的 Python 库.在 MVC 的 Model 层,Pylons 默认支持

在 XPath 查询中指定轴(转自MSSQL手册)

sql 以下示例显示如何在 XPath 查询中指定轴.这些示例中的 XPath 查询都在 SampleSchema1.xml 中所包含的映射架构上指定.有关此示例架构的信息,请参见示例 XPath 查询. 示例 A. 检索上下文节点的子元素 此 XPath 查询选定上下文节点的所有 <Customer> 子元素: /child::Employee 在此查询中,child 是轴,Customer 是节点测试(如果 Customer 是 <element> 节点,则该测试为 TRUE,