こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

OracleのTrigger(トリガー)について

いつもご親切にありがとうございます。

Oracleのトリガーについて教えてください。

テーブルA
-----------------
日付 date型
品名 char(15)
営業所 cahr(5)
フラグ char(1)

データをINSERTする際に、下記のように変更したいです。
(1)日付が2月且つ、営業所が00001の場合は99999に変更、
(2)日付が2月且つ、品名の後ろ5桁が00001の場合後ろ5桁だけを99999に変更

下記のようにトリガーを作成しているんですけど、
(2)をどのように入れたらよいでしょうか?

CREATE OR REPLACE TRIGGER TRG_テーブルA
BEFORE INSERT
ON テーブルA
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
BEGIN
IF ( to_char(:NEW.日付,'YYYYMM') = '201502' ) AND
( :NEW.営業所 = '00001' )
THEN
:NEW.営業所 := '99999';
END IF;
END;
/

よろしくお願いします。

投稿日時 - 2015-01-28 14:47:52

QNo.8906325

すぐに回答ほしいです

質問者が選んだベストアンサー

:NEW.営業所 := '99999';
  <------- ココに elsif で式を追加すればよいのでは?
END IF;

投稿日時 - 2015-01-29 06:28:36

お礼

単純にその通りでした。
お手数をお掛けしました。
ありがとうございます。

投稿日時 - 2015-01-29 09:02:17

このQ&Aは役に立ちましたか?

12人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問