sql >> データベース >  >> RDS >> PostgreSQL

ビューに削除ルールを作成するにはどうすればよいですか?

    ルールの問題で見られるのは、ルールシステムがデータをアトミックに処理しないことです。最初の削除は、DOINSTEADルールの2つのステートメントの順序に関係なく実行されます。 OLD.idが参照する行がビューから削除されているため、2番目のステートメントは実行されません。 LEFT JOINを使用することもできますが、テーブルデザインの例があるため、役に立ちません(実際のデータベーススキーマで機能する場合があります)。

    基本的な問題は、私が見ているように、ルールシステムをトリガーとして扱っていることです。

    最善のオプションは、外部キーとON DELETE CASCADEを使用することです。 ルールの代わりに。それらを使用すると、サンプルスキーマも機能します。すべての子を削除するには、親テーブルを削除するだけで済みます。



    1. .netOracleプロバイダーのBadImageFormatException

    2. 1つのイベントを使用して2つの手順を実行します

    3. pgadminからhttps://api.elephantsql.comに接続できません

    4. 生成された列を使用したPostgreSQLクエリ