スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

EXISTS

あるマスタのコードが論理的に削除された場合、そのコード値が他テーブルで使われていたらエラーにするトリガーを作りました。



IF EXISTS(SELECT * FROM B WHERE AAA = :NEW.AAA) THEN ~



と、IN句やLIKE文的な感覚でEXISTSを使って、他テーブルでの存在チェックを書いてみたのですが、Oraleではダメだったんですね。
EXISTS句はSQL演算子なだけであって、IF文の条件判定で使えないみたいです。

仕方がないので、


SELECT COUNT(*) INTO cnt FROM B WHERE AAA = :NEW.AAA AND ROWNUM = 1;
IF cnt > 0 THEN ~



と、該当件数を取得して、0件超だったらエラーにするように書き換えました。
関連記事
スポンサーサイト

この記事へのコメント

プロフィール

あんま覚えてへんわ


「あんま覚えてへんわ」です。

最新記事
最新コメント
月別アーカイブ
カテゴリ

openclose

カレンダー
06 | 2017/07 | 08
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -
ブログ内検索

アクセス数
アクセスランキング
[ジャンルランキング]
日記
5903位
アクセスランキングを見る>>

[サブジャンルランキング]
会社員・OL
1126位
アクセスランキングを見る>>

天気予報
QRコード
QR
RSSリンクの表示
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。