標準のORACLE SQLの例の表EMPの場合、スキーマには現行従業員のダイレクト・マネージャのEMPNOがプライマリ・キーであり、MGRはEMPNOです(外部キーは表自体を参照します)。1つの表で従属行を再帰的に削除します。oracle sql
質問1:1つのマネージャーを削除するために再帰的なSQLプロシージャーを作成し、このマネージャーの下で働いているすべての人物を黙って削除する方法 、それらに直接報告しない人を含む?
質問2:繰り返しベーステーブルによって作成されたビューからの削除によってこれを行うことができますか?
IMO質問1を解決する "正しい"方法は、従属者の削除を処理するON DELETEトリガーを定義することです。 YMMV。 –
あなたは 'MGR'に外部キーを持っています。したがって、そのマネージャの下にあるすべての従業員を再帰的に削除する場合、その従業員のいずれかが管理者である場合はどうなりますか。子レコードが見つかりましたが、失敗しませんでした制約エラー? –