sql >> データベース >  >> RDS >> Sqlserver

FOR AUTO XMLの結果をテーブルに挿入する方法は?

    テスト テーブルとデータ

    テーブルを作成 tableABC(A int, B bit, C varchar(10))insert into tableABC values(1, 1, 'Row 1')insert into tableABC values(2, 0, 'Row 1')   

    XML を取得

    declare @xml xmlset @xml =(select * from tableABC for xml auto, elements)  

    XML データ

     1 1 行 1 2 0 行 1  

    別のテーブルABCに挿入

    insert into tableABC(A, B, C)select r.value('A[1]', 'int'), r.value('B[1]', 'bit'), r .value('C[1]', 'varchar(10)')from @xml.nodes('tableABC') t(r)  

    編集 このステートメント全体をコピーして、機能するかどうかをテストしてください

    use tempdbgocreate table tableABC(A int, B bit, C varchar(10))goinsert into tableABC values(1, 1, 'Row 1')insert into tableABC values(2, 0, 'Row 1' )declare @xml xmlset @xml =(select * from tableABC for xml auto, elements)insert into tableABC(A, B, C)select r.value('A[1]', 'int'), r.value( 'B[1]', 'bit'), r.value('C[1]', 'varchar(10)')from @xml.nodes('tableABC') t(r)select *from tableABCgodrop table tableABC   

    結果は tableABC の重複した行です

    A B C----------- ----- ----------1 1 行 12 0 行 11 1 行 12 0 行 1  


    1. MySQLクエリからn番目のレコードを返す

    2. VisualStudio2010から.MDFファイルを作成する際の問題

    3. MySQLクエリエラー-自動コイン追加

    4. なぜmysqldがLinuxシステムの4つの場所にあるのですか?