Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Απορία με xml data type

Îåêßíçóå áðü ôï ìÝëïò neoklis. Τελευταία δημοσίευση από το μέλος neoklis στις 10-07-2014, 17:45. Υπάρχουν 1 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  09-07-2014, 18:28 75539

    Απορία με xml data type

    Παιδιά καλησπέρα, δεν μπορώ να καταλάβω γιατί στο select που κάνω στο τέλος δεν μου επιστρέφει και τις 3 γραμμές από το xml.
     
    ευχαριστώ 
     
    CREATE TABLE #Xml ( Data XML )
    DECLARE @Data XML

    set @Data=N'
    <resultset>
        <row>
            <column name="PieceNo">1</column>
            <column name="PieceNoEvalUnit">655360</column>
            <column name="PieceIdent">Function check1</column>
            <column name="RequestNo">1</column>
        </row>
        <row>
            <column name="PieceNo">2</column>
            <column name="PieceNoEvalUnit">655362</column>
            <column name="PieceIdent">Function check2</column>
            <column name="RequestNo">1</column>
        </row>
        <row>
            <column name="PieceNo">3</column>
            <column name="PieceNoEvalUnit">655364</column>
            <column name="PieceIdent">Function check3</column>
            <column name="RequestNo">1</column>
        </row>
    </resultset>'

    INSERT  INTO #Xml( Data)
    values(@data)

    SELECT * FROM #Xml

    select 
    data.value('(resultset/row/column/text())[1]', 'int') as PieceNo,
    data.value('(resultset/row/column/text())[2]', 'int') as PieceNoEvalUnit,
    data.value('(resultset/row/column/text())[3]', 'varchar(255)') as PieceIdent,
    data.value('(resultset/row/column/text())[4]', 'int') as RequestNo
    from 
    #Xml


    DROP TABLE #Xml

    Dionisis
  •  10-07-2014, 17:45 75540 σε απάντηση της 75539

    Απ: Απορία με xml data type

    Αφού πρέπει να το γράψω έτσι..

    select 
    X.N.value('(column/text())[1]', 'int') as PieceNo,
    X.N.value('(column/text())[2]', 'int') as PieceNoEvalUnit,
    X.N.value('(column/text())[3]', 'varchar(255)') as PieceIdent,
    X.N.value('(column/text())[4]', 'int') as RequestNo
    from 
    @Xml as T
    cross apply t.Data.nodes(N'/resultset/row') as X(N)

    Dionisis
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems