同事寫有這樣一個存盤程序,需要傳入xml型別的@ArrayParams變數
Declare @ArrayParams xml
SET @ArrayParams = '<ParamItems>
<item>A001</item>
<item>B002</item>
</ParamItems>'
EXEC 存盤程序名稱 @ArrayParams
我需要呼叫該存盤程序,但是引數A001,B002……我在呼叫前通過一系列查詢,得到一個臨時表#Temp,內容如下:
編號
A001
A002
A003
B001
C001
C002
:
:
:
請教大神們,如何將這個臨時表的資訊轉換成@ArrayParams變數,用于呼叫同事的這個存盤程序?
同時問一下這個 xml變數有沒有容量限制之類的?比如我的臨時表有10萬行資料,轉成xml是否可行?
uj5u.com熱心網友回復:
create table #Temp(item varchar(50))
insert into #Temp(item)
select 'A001' union all
select 'A002' union all
select 'A003' union all
select 'B001' union all
select 'C001' union all
select 'C002'
declare @ArrayParams xml
select @ArrayParams=(select item
from #Temp
for xml path(''),root('ParamItems'))
select @ArrayParams
/*
<ParamItems>
<item>A001</item>
<item>A002</item>
<item>A003</item>
<item>B001</item>
<item>C001</item>
<item>C002</item>
</ParamItems>
*/
uj5u.com熱心網友回復:
xml變數容量為2GB.轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/284631.html
標籤:疑難問題