Su xml de muestra no tiene Pages
nodo. Esto significa que cuando el FROM
se calcula la cláusula, se forma una unión cruzada entre una lista de cero filas y una lista de una fila. El producto resultante no tiene filas, por lo que no hay nada SELECT
ed, así que nada es INSERT
ed.
Si realmente desea insertar una fila en BookDetails
para cada booksdetail
nodo en el xml entrante, debe hacer algo como
SELECT
ParamValues.PL.value('Pages[1]','int'),
CAST(ParamValues.PLr.value('Description[1]','varchar(max)') AS text)
FROM
@xml.nodes('/booksdetail') as ParamValues(PL)
Es decir, triture el xml entrante en booksdetail
nodos y extraiga cada uno de los .value
s desea de estas filas.