SQL Server での更新されたテーブル列の XML の生成
SQL Server の COLUMNS_UPDATED 関数は、テーブルの更新中に変更された列についての洞察を提供します。ただし、XML 形式で更新された列値のみが必要なシナリオの場合は、別のアプローチを紹介します。
変更された列を識別するための自動ルーチン
それぞれを手動で指定するのではなく、 SELECT ステートメント内の列を使用すると、自動ルーチンがテーブル構造に基づいて列リストを動的に生成できます。これにより、トリガーの開発が簡素化され、将来のテーブル変更にも確実に適応できるようになります。たとえば、DBCustomers テーブルのトリガーの場合:
アンピボットを使用した代替ソリューション
別のアプローチでは、アンピボット技術を活用し、COLUMNS_UPDATED を完全に回避します。
この方法では、動的 SQL の必要性がなくなり、テーブル構造に関係なく一貫した出力フォーマットが保証されます。これは、多数の列があるテーブルや定期的な列の追加があるテーブルに特に有益です。
考慮事項
変更される可能性のある自然主キーを持つテーブルを扱う場合、 NEWID() 関数を使用して追加の列に GUID を設定することをお勧めします。これにより、ピボット解除プロセスが監査証跡の目的で有効なままであることが保証されます。
以上がSQL Server で更新されたテーブル列の XML を効率的に生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。