2016-08-26 18 views
-3
insert into employees(employee_id,e_name,department_id) 
values (5, 'faizi', 6); 

insert into department(loc_id, d_name, department_id) 
values (11, 'bba',6); 

にエラーが見つかりません取得、私は次のエラーを取得しています。 departmentIdは、employees表の主キーと部門表の外部キーです。なぜこのエラーが発生するのですか?親キーは、SQL

ORA-02291:整合性制約(SYS.SYS_C003995)違反 - 親キーは、あなたの挿入順序が間違っている

+0

'employees'テーブルの主キーは' employee_id'です。 'employees'テーブル、' department'テーブル、あるいはその両方に挿入しようとするとエラーが出ますか?すべてのテーブルの実際の構造を表示します。 –

+0

department_idはemployeesテーブルの主キーです。部門テーブルの外部キー。私は従業員テーブルに値を挿入しましたが、部署テーブルに挿入するとこのエラーが発生します –

+0

テーブルの実際の構造を表示します。 'employees'テーブルでは' employee_id'が主キーでなければなりません。 'department'テーブルのプライマリIDが' department_id'ではないことは意味がありません。 'department'テーブルの主キーは何ですか? 'loc_id'? –

答えて

2

が見つかりません。最初に部門を挿入してから、その部門で働いている従業員を挿入する必要があります

2

insert文の場合、このORA-02291エラーは、外部キーによって定義されているように、制約。その場合は、親行を表に追加して、子表の行を再挿入する必要があります。

+0

iマッチング値を挿入します。私は両方のテーブルにdepartment_idに6を挿入しているのが分かります。私は子テーブルに挿入するとき。それはエラーを与える –