私は3つのテーブルを持っています。親テーブルである1つのテーブルEMPLOYEE
には、会社のすべての従業員が含まれています。次に、テーブルEMP_ID
からのPKおよびFKEMPLOYEE
およびその他の特定の情報を持つ子テーブルがあります。従業員のタイプを保持するEMPLOYEE
テーブルがあることを考慮して、にレコードを入力することで、レコードは自動的にそのタイプを認識し、関連するテーブルにコピーする必要がありますか?EMP_TYPE
EMPLOYEE
質問する
284 次
2 に答える
0
そのためのトリガー関数を使用できます。この関数は、をチェックしてEMP_TYPE
から、対応する子テーブルにデータを挿入します。親テーブルにデータを挿入するときに、これらのトリガーが起動されることを確認してください。
または、オブジェクトリレーショナルデータベースを探します。
MySQLの場合、次のようになります(モデルの実際の構造はわかりませんが、特定のケースに簡単に適合させる必要があります)。
CREATE TRIGGER testref AFTER INSERT ON Employee
FOR EACH ROW BEGIN
IF NEW.EMP_TYPE = 'PROGRAMMER' THEN
INSERT INTO Programmer (id, type, name, salary, start_date) values (NEW.EMP_ID, NEW.EMP_TYPE, NEW.NAME, NEW.SALARY, NEW.START_DATE);
ELSE
INSERT INTO Intern (id, type, name, salary) values (NEW.EMP_ID, NEW.EMP_TYPE, NEW.NAME, NEW.SALARY);
END IF;
終わり;
于 2013-01-20T01:42:56.397 に答える
0
これには 2 つの方法があります。
- 挿入時のデータベース トリガーの使用。
- フロントエンドまたはビジネスレイヤーから実行します(それがあると仮定しています)
于 2013-01-20T04:03:22.977 に答える