MS SQL2005 XML 字段 查询 操作笔记

来源:互联网 发布:淘宝店放在手机桌面 编辑:程序博客网 时间:2024/05/09 08:38

为了方便记忆,把 xml 的一些操作记录,方便自己看。呵呵

 

更新Visor 这个 XMl 字段的内容

declare @IP varchar(15)
set @IP='192.168.200.1'

 

update T_Notice set Vistor.modify(
'insert <IP>{sql:variable("@IP")}</IP> into (/Vistor)[1]'
)

 

--<IP>192.168.200.0</IP>

 

update T_Notice set Vistor.modify(
'insert <IP Value="{sql:variable("@IP")}"></IP> into (/Vistor)[1]'
)

 

--<IP Value="192.168.200.0"></IP>

 

查询

select * from T_Notice
where Vistor.exist('/Vistor/IP[@Value =sql:variable("@IP")]')=0

 

 

/********************************************************************************/

错误的SQL语句
update T_Notice set Vistor.modify('insert (<IP Value=sql:variable("@IP") Time=sql:variable("@LastTime") />) into (/Vistor)[1] ')
where Vistor.exist('/Vistor/IP[@Value =sql:variable("@IP")]')=0

正确的SQL语句

update T_Notice set Vistor.modify(
'insert <IP Value="{sql:variable("@IP")}" Time="{sql:variable("@IP")}"></IP> into (/Vistor)[1]'
)

/********************************************************************************/

 

连接2个表的试图

SELECT     dbo.T_Notice.ID, dbo.T_Notice.Subject, dbo.T_Notice.SSID, ISNULL(dbo.T_Notice_Visitor.Visitor, '|') AS Visitor, dbo.T_Notice_Visitor.MAC
FROM         dbo.T_Notice LEFT OUTER JOIN
                      dbo.T_Notice_Visitor ON dbo.T_Notice_Visitor.NoticeID = dbo.T_Notice.ID
WHERE     (dbo.T_Notice.STATE = 1)