Welcome to Sign in | Help

Re: Parametru tip int

  •  09-05-2007, 2:12 PM

    Re: Parametru tip int

    Definesti parametrul procedurii de tip NVARCHAR. Cand apelezi procedura stocata ii transmiti lista de valori sub forma unei structuri in format XML.

     

    Exemplu: <root> <parametru valoare="111"/> <parametru valoare="..."/> ... </root>

    Procesezi datele in format XML transmise ca parametru (vezi @xml) cu ajutorul OPENXML.

     

    Exemplu: 

    DECLARE @xml NVARCHAR(255)
    SET @xml = '<root> <parametru valoare="111"/> <parametru valoare="222"/> <parametru valoare="333"/> </root>'

    DECLARE @id_xml INT
    EXEC sp_xml_preparedocument @id_xml OUTPUT, @xml

    SELECT *
    FROM Articol
    WHERE IdArticol IN
    (

    SELECT valoare
    FROM OPENXML (@id_xml, '/root/parametru') WITH ( valoare INT )
    )


    EXEC sp_xml_removedocument @id_xml

     Sau inserezi valorile din @xml intr-o tabela (ex. variabila tabela; pp. ca nu sunt multe valori).

     

    Exemplu:

    DECLARE @xml NVARCHAR(255)
    SET @xml = '<root> <parametru valoare="111"/> <parametru valoare="222"/> <parametru valoare="333"/> </root>'

    DECLARE @tabel TABLE (parametru INT)

    DECLARE @id_xml INT
    EXEC sp_xml_preparedocument @id_xml OUTPUT, @xml

    INSERT INTO @tabel (parametru)
    SELECT valoare
    FROM OPENXML (@id_xml, '/root/parametru') WITH ( valoare INT )

    EXEC sp_xml_removedocument @id_xml

    SELECT *
    FROM Articol
    WHERE IdArticol IN

    (

    SELECT parametru FROM @tabel

    ) 

View Complete Thread
Powered by Community Server (Commercial Edition), by Telligent Systems