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

テーブルの最初の行の削除を防ぐ方法(PostgreSQL)?

    あなたはルールシステムについて考えるのは正しかった。これがあなたの問題に一致する例へのリンクです。トリガーよりもさらに簡単です:

    create rule protect_first_entry_update as
      on update to your_table
      where old.id = your_id
      do instead nothing;
    create rule protect_first_entry_delete as
      on delete to your_table
      where old.id = your_id
      do instead nothing;
    

    一部の回答は1つのポイントを見逃しています。また、保護された行の更新を制限する必要があります。それ以外の場合は、最初に保護された行を更新して、禁止された削除基準を満たさなくなるようにします。次に、保護されなくなったため、更新された行を削除できます。



    1. SQLServerレプリケーションのトラブルシューティング

    2. PostgreSQLストリーミングレプリケーション-詳細

    3. CASEおよびINによる更新-Oracle

    4. 更新可能なビューのCHECK句