:)))) Arata beton ceea ce se genereaza. Este practic un "XML de XML-uri" daca imi e permisa exprimarea, unde fiecare nod din XML-ul de baza contine un atribut care inglobeaza cate un XML. Codul SQL care merge fara probleme ar fi (l-am scurtat un pic):
declare
@SirSQL as nvarchar(max)
declare
@NOD as nvarchar(100)
DECLARE
@ParmDefinition nvarchar(500)
declare
@Tabel as xml
set
@NOD='FacturaDetalii'
set
@SirSQL=N'SELECT @Tabe=
(
SELECT (SELECT
T.node.query(''.'')
FROM Continut.nodes(''//'
+ @NOD +''') as T(node) FOR XML AUTO ,ROOT(''TAB'') ) as COL
FROM [LOG] FOR XML AUTO, ROOT )
'
SET
@ParmDefinition=N'@Tabe as xml OUTPUT';
exec
sp_executesql @SirSQL, @ParmDefinition, @Tabe=@Tabel OUTPUT;
SELECT
@Tabel as Nume
Mai jos este o mostra din rezultat :
<root>
<LOG COL="<TAB><T><FacturaDetalii><NrFactura>1</NrFactura><CodProdus>2</CodProdus><Cantitate>15</Cantitate><Pret>14.7000</Pret></FacturaDetalii></T><T><FacturaDetalii><NrFactura>1</NrFactura><CodProdus>1</CodProdus><Cantitate>10</Cantitate><Pret>12.5000</Pret></FacturaDetalii></T></TAB>" />
</root>
Parca as mai cauta solutie si la prima varianta propusa.