存储中传递与接收XML类型的参数
一.传递
declare @xml xml
select @XML=(
select SerialNo as [@col1]
from Location_Pallet_Information
where SerialNo in('SC02GP0B7Q6X6','SC02GP09VQ6X9','SC02GP0RNQ6X8')
for xml path ('xmlRows'),Root('XMLData')
)
select @xml
-
若没有数据传递,结果下图:
-
若有数据传递,传递的数据格式是...,结果如下图:
二.接收
CREATE TABLE #TB_SN
(
SerialNo nvarchar(50) COLLATE DATABASE_DEFAULT
)
DECLARE @myXML xml
SET @myXML=@SerialNo
insert into #TB_SN
SELECT Table1.colm1.value('@col1','varchar(50)')
FROM @myXML.nodes(N'/XMLData/xmlRows') AS Table1(colm1)
@serialNo参数是存储定义的用来接收XML类型数据的XML参数;
TB_SN是临时表,表中只有serialNo这一列,最终XML形式的数据放到这个临时表中;
-
若有数据传递,结果如下图:
-
若没有数据传递进来,结果如下图: