WEB开发网
开发学院数据库MSSQL Server 深入探讨SQL Server 2000对XML的支持 阅读

深入探讨SQL Server 2000对XML的支持

 2008-09-09 10:03:09 来源:WEB开发网   
核心提示: SELECT C.CustomerID, O.OrderID, O.OrderDateFROM Customers C LEFT OUTER JOIN Orders O ON C.CustomerID = O.CustomerIDORDER BY C.CustomerIDFOR XML R

   SELECT C.CustomerID, O.OrderID, O.OrderDate
     FROM Customers C LEFT OUTER JOIN Orders O ON C.CustomerID = O.CustomerID ORDER BY C.CustomerID FOR XML RAW

下面是部分结果:

  <row CustomerID="BONAP" OrderID="11076" OrderDate="1998-05-06T00:00:00"/>
  <row CustomerID="FISSA"/>
  <row CustomerID="PARIS"/>
  <row CustomerID="RICSU" OrderID="11075" OrderDate="1998-05-06T00:00:00"/>

我们还可以使用 HTTP 执行存储过程,比如下面这个名为GetXML的存储过程:

  CREATE PROCEDURE GetXml
   (
    @CustomerID varchar(5)
   )
   AS
    BEGIN
     SELECT CustomerID, CompanyName,ContactName
      FROM Customers
      WHERE CustomerID LIKE @CustomerID + '%'
      FOR XML AUTO
  END

为了执行这个存储过程并传送相应的参数,我们可以使用下面这段URL,http://localhost/northwind?sql=exec+GetXml+'A'&root=root。这样,我们就能够在更高一层次使用存储过程,并且可以根据最终用户想要得到的结果动态的改变参数值(比如在本例中,我们用的是“A”)。

三、使用XML模板进行查询

SQL Server 2000通过在HTTP请求中内嵌SQL语句的功能显然是非常强大并且有用的。但是这种见也隐藏着极大的隐患,一旦某个最终用户了解了直接使用浏览器查询数据库的方法,那么数据库中的数据就很危险了,因为最终用户可能会尝试执行他自己的insert,update甚至是delete过程。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:深入 探讨 SQL

编辑录入:coldstar [复制链接] [打 印]
赞助商链接