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

単一の XQuery for SQL Server で複数のノードを削除する

    この方法で削除を行うのは少し面倒ですが、代わりに更新を行ってデータを変更できますが、データが単純な場合 (例のように) です。次のクエリは、基本的に 2 つの XML 文字列をテーブルに分割して結合し、null 以外の (一致する) 値を除外して、XML に変換します:

    UPDATE @table 
    SET [column] = (
        SELECT p.i.value('.','int') AS c
        FROM [column].nodes('//i') AS p(i)
        OUTER APPLY (
            SELECT x.i.value('.','bigint') AS i
            FROM @parameter.nodes('//i') AS x(i)
            WHERE p.i.value('.','bigint') = x.i.value('.','int')
        ) a
        WHERE a.i IS NULL
        FOR XML PATH(''), TYPE
    )
    


    1. SQL Server 接続文字列非同期処理 =true

    2. PHPを介してMySQLをXMLに変換する

    3. MySQL Select:時間は時間より長く、時間より短い場合

    4. 日付範囲内の曜日の日付を取得します