SQL_存储中传递与接收XML类型的参数

25 阅读1分钟

存储中传递与接收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
  1. 若没有数据传递,结果下图:

  2. 若有数据传递,传递的数据格式是...,结果如下图:

二.接收

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形式的数据放到这个临时表中;

  1. 若有数据传递,结果如下图:

  2. 若没有数据传递进来,结果如下图: