为了方便记忆,把 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)