深入探讨SQL Server 2000对XML的支持
2008-09-09 10:03:09 来源:WEB开发网 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过程。
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接