Váš ukázkový xml nemá Pages uzel. To znamená, že když FROM Pokud je vypočítána klauzule, vytvoří se křížové spojení mezi seznamem nula řádků a seznamem jednoho řádku. Výsledný produkt nemá žádné řádky, takže není nic SELECT ed, takže nic není INSERT vyd.
Pokud skutečně chcete vložit jeden řádek do BookDetails pro každý booksdetail uzel v příchozím xml, měli byste udělat něco jako
SELECT
ParamValues.PL.value('Pages[1]','int'),
CAST(ParamValues.PLr.value('Description[1]','varchar(max)') AS text)
FROM
@xml.nodes('/booksdetail') as ParamValues(PL)
To znamená, že skartujte příchozí xml do booksdetail uzly a vytáhněte každý z .value z těchto řádků.