>IN COSA SBAGLIO,
1) Nel body della stored procedure sostituisci SELECT PREV_DATE con SELECT Value (o SELECT *)
2) L'XML è case sensitive, pertanto l'elemento <PARAMETRI> deve avere lo stesso case sia nella stringa XPath che nel documento XML.
Osserva il seguente esempio (semplificato):
USE tempdb;
GO
CREATE PROCEDURE dbo.up_ErmasExtractPrevDate(
@PERCORSO NVARCHAR(100),
@sXML TEXT
)
AS
DECLARE @iDoc INT;
EXEC sp_xml_preparedocument @iDoc OUTPUT, @sXML;
SELECT Value
FROM OPENXML(@iDoc, @PERCORSO, 1)
WITH (VALUE NVARCHAR(10) '@VALUE')
EXEC sp_xml_removedocument @iDoc
RETURN
GO
EXEC dbo.up_ErmasExtractPrevDate
'/PARAMETRI/ELABORATION_PARAMETERS/ANALISI_CONSUNTIVA/PREV_DATE'
, '
<PARAMETRI>
<ELABORATION_PARAMETERS>
<ANALISI_CONSUNTIVA>
<PREV_DATE VALUE="31/12/2007"/>
</ANALISI_CONSUNTIVA>
</ELABORATION_PARAMETERS>
</PARAMETRI>';
/* Output:
Value
----------
31/12/2007
(1 row(s) affected)
*/
DROP PROCEDURE dbo.up_ErmasExtractPrevDate;
>GRAZIE.
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org