SQL Server への挿入時に別のテーブルへのデータ挿入をトリガーする
SQL Server でデータを管理する場合、トリガーは操作の自動化に非常に役立ちます。データの整合性を確保します。そのような要件の 1 つは、新しく作成された行のデータを別のテーブルに挿入することです。次のシナリオを考えてみましょう。
ASP.NET にメンバーシップ スキーマが実装されており、aspnet_users テーブルへの挿入時に別のテーブルでユーザーの詳細、具体的にはユーザー ID とユーザー名を追跡したいと考えています。疑問が生じます: 最新の挿入から値を効率的に取得するにはどうすればよいですか?
最新の作成日による選択は単純なアプローチのように見えますが、洗練されたソリューションとは言えない可能性があります。ありがたいことに、より適切な方法が存在します。
INSERTED テーブル変数の使用
SQL Server は、新しく挿入された行に関する情報を含む INSERTED テーブル変数を提供します。この変数を利用すると、ターゲット テーブルに簡単にデータを取り込むことができます。
CREATE TRIGGER [yourNewTrigger] ON [yourSourcetable] FOR INSERT AS BEGIN INSERT INTO [yourDestinationTable] (col1, col2, col3, user_id, user_name) SELECT 'a', default, NULL, user_id, user_name FROM INSERTED; END;
このトリガーでは、Sourcetable への挿入時に、INSERTED テーブル変数を使用して必要なデータ (user_id と user_name) を抽出し、Sourcetable に挿入します。 yourDestinationTable とその他の必要なデータ。
このアプローチは、データの変更を追跡し、データを維持するためのクリーンで効果的な方法を提供します。複数のテーブル間の同期により、必要なときに必要な情報を確実に入手できます。
以上がSQL Server での INSERT 時に 2 番目のテーブルへのデータ注入を効率的にトリガーするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。