私はSQLの初心者ですので、この1つを私にご負担ください。私のプロジェクトは次の通りです:MSSQL - エントリが別のテーブルに追加されたときに自動的にエントリを1つのテーブルに追加する方法はありますか?
Windows Server 2008 R2でMSSQLを使用しています。
既存のデータベーステーブルがあります。これはPRODUCTSと呼ばれます。数千行のデータが含まれています。これは、X社が販売するすべての製品の製品情報です。私が興味を持っている3つのコラムは、ITEMGROUPID、ITEMID、ITEMNAMEです。 ITEMIDはこの表の主キーであり、固有の製品コードです。 ITEMGROUPIDは、各アイテムがどのカテゴリに分類されるかを示し、ITEMNAMEは自明です。私は製品の1つのカテゴリにのみ関心があるので、ITEMGROUPIDを使用することで、私のテーブルにいくつの行があるかを判断できます(現在260)。
これらの製品を作成するためのパラメータを含むテーブルを作成しています.LINEPARAMETERSと呼んでいます。たとえば、ウィジェットAを作成する場合、コンベアBを速度Cで実行する必要があります。私のテーブルには、別のテーブルのITEMIDを指す外部キーを作成する予定です。したがって、新しいテーブルの各行は、既存の製品データベース内の特定の製品を参照します。
私の基準(ITEMGROUPID = 'VALUE')に一致し、既存のテーブルにITEMIDで入力した新製品が開発された場合、私のテーブルが自動的に新しい行を生成する方法はありますか?そのITEMIDと他のすべての列のデフォルト値?
私はあなたが何を意味しているかはっきりしていません。あなたが参照しているテーブルについてあまりあいまいにならないように、私は自分の投稿を編集して2つのテーブルに名前を定義しました。混乱を避けるためにこれらのテーブル名を使ってあなたの提案を説明できますか? – ASForrest
@ASForrest OK、コード例 – Bohemian
で更新された答えは分かりました。しかし、PRODUCTSテーブルの製品の約10%だけが実際にテーブル(ITEMGROUPID = 'VALUE'のもの)にエントリを必要とするため、データの整合性に問題がないことを確認していますが、わかりませんそれは私の最善の方法です。そのトリガーが削除された場合、すべてが表示されます。それを自動的に行うことは本当にうれしいことです。トリガーメソッドに固執する場合、PRODUCTSに挿入されたばかりの行(ITEMGROUPID = 'VALUE')にLINEPARAMETERSに行を挿入するにはどうすればよいでしょうか? 'ITEMGROUPID = 'VALUE'以外の製品の場合は – ASForrest