私はflightbookingという名前のテーブルを持っています。テーブルは、 'R'または 'C'のマークが付いたフィールド、予約済みおよびキャンセル済みのフィールドで構成されます。私が把握しようとしている何特定のステータス値を持つ行(得意先)を削除します
ステータスが「C」であるが、以下の行が「R」のステータスを持っている場合、それは削除すべきではないレコードを削除できるようにすることです。
[編集]:私はleadcustomerテーブルから顧客レコードを削除する必要があることを追加するのを忘れました。
したがって、CustomerIDが2でstatus = 'C'の場合顧客レコードは削除できます。 それ以外の場合、CustomerIDが3でステータスが 'R'の場合顧客レコードは削除できません。
DELETE FROM leadcustomer
WHERE CustomerID = 2;
使って、さらに
、(この得意先レコードには、=「C」ので、私はそれを削除することができるはずですが、外部キー制約に違反する状況があります。)
どこステータスは=「C」flightbookingから削除 '使用;' –
私は私はあなたの必要性を理解しているかどうかわかりませんが、この次は、トリックを行う可能性がありますあなたのためのオプションかもしれません:https://www.postgresql.org/docs/current/static/ddl-rowsecurity.html – rsc
私の悪い私は私の要件を明確に書いていない、うまくいけば、 。 – Wub