あなたはそれを行うべきではありません...必要に応じて両方のテーブルにアクセスすることができますストアドプロシージャで...更新/挿入のために格納さprocudureを使うだろう。 EmpId
が変更できる場合は、データベースのためにrecord
に新しいId
列を作成する必要があります。次に、record.Id
を参照する外部キー列salary
があります。このようにsalary
にはEmpId
は必要ありません。特定のsalary
列のEmpId
を取得する場合は、Id
列に参加します。 EmpId
を変更する場合は、record
に変更するだけで十分です。
これは、テーブルを分離しておくことをお勧めします。別のオプションは、それらを1つのテーブルに結合することです。
EDIT:あなたが言うように、管理者がDetails
行を作成し、その後、場合
:(それは完全に別の質問、私は考えさせる)この回答へのコメントに基づいて
HRが彼のAccounts
データを追加すると、Details
行を作成するときにAccounts
行を作成する理由はありません。人事部が最初に口座データを設定するときに行を作成します。
もう1つの解決策(既に他の人によって提案されている)は、2つのテーブルをマージすることです。それらの間に常に1:の関係がある場合、異なるテーブルにデータを保持する必要はありません。データの一部だけを見たい場合は、ビューを作成することができます。
あなたが求めているものに最も近い解決策(しかし最良の選択肢ではないかもしれません)はトリガーを使うことです。 Details
テーブルに行が挿入されると、トリガーが発生し、Accounts
テーブルに行が作成されます。
テーブルRECALORDと同じように、テーブルSALARYに行を挿入します。システム(.net || db)は、行をSALARYに挿入する必要があることをどのように知るべきですか。ちょっとヒント:たぶんあなたはSALARYテーブルが必要ないかもしれません。それはRECORDと1対1の関係にあるようです。 – home