2012-03-19 7 views
8

Come unire il contenuto xml di @a e @b a @c?Unisci i due frammenti xml in uno?

declare @a xml = (select 1 aaa for xml path('AAAs')); 
declare @b xml = (select 1 bb1, 2 bb2 for xml path('BBBs')); 
declare @c xml = ... @a + @b ....? 

Ho bisogno di passare l'xml unito a una stored procedure.


So che è possibile eseguire il cast dell'XML su varchar e concatenarlo e convertirlo nuovamente in xml. Qualche approccio migliore? Il contenuto xml può essere grande.

+0

avrei cercato di interrogare solo le variabili XML utilizzando 'per xml'. Non sono al computer in questo momento, ma qualcosa del genere potrebbe funzionare. 'seleziona @a come A, @b come B per xml path ('root')' –

risposta

17

OK, ho trovato un modo

select @a, @b for xml path ('') 
+0

Molto utile per me! – mastervv

+0

+1 - Grazie Man, ha funzionato per me –

+0

Molto più facile di molti altri modi trovati sul web! Grazie – Greg