最初の詳細テーブルをチェックするトリガーの代わりに次の SQL Server をテストしてください。詳細に欠落しているデータがある場合は、そのテーブルを挿入します。2 番目のステップとして、スキル テーブルへの挿入を続行します。
CREATE Trigger MySkillsInsteadOfInsert on dbo.MySkills Instead Of Insert AS Begin insert into MySkills_details ( EmpId -- and other relevant columns ) select i.EmpId -- and other relevant columns from inserted i left join MySkills_details d on i.EmpId = d.EmpId where d.EmpId is null Insert Into MySkills(EmpId) -- and other relevant columns Select EmpId -- and other relevant columns From inserted i; End
から プレ>SQL のその他のサンプルについては、トリガーの代わりにサーバー 与えられた例を参照してください。
しかし、私の言葉に注意してください。スキルを別のマスターテーブルに保持することは、代替設計になると思います。詳細に挿入する前に、通常、マスターが存在するかどうかを確認します。したがって、一般的に、コントロールは通常、ユーザーは最初にマスター データを挿入します。この場合、Skills テーブルのデータです。その後、詳細が入力されます。