ID主キーを含むテーブルAを持つFirebirdデータベースがあります。
そして、A.IDへのA_ID外部キーを含むテーブルBのような他のいくつかのテーブル(アクションなしの削除時)。
A の行を削除できるかどうか、ストアド プロシージャをチェックインしたいと思います。
エラーなしで削除できる場合にのみ、実際に削除しないでください。
しかし、A への外部キーを持つ他のすべてのテーブルをチェックしたくありません。
私が必要とするのは次のようなものです:
safepoint X; delete from A where ID = 1; when any do begin return = 'false'; end rollback to X;
ただし、ストアド プロシージャではセーブポイントを使用できません。
または
- A.ID を参照する他のテーブルに行があるかどうかを確認する方法。
他のすべてのテーブルを手動で選択することなく。
これを行う方法はありますか?