-1
iveはこのトリガーのほとんどを処理していますが、これを正しく実装する方法はわかりませんが、そこでは北と東をそれぞれ評価してみてください。if else文を含むトリガー
CREATE OR REPLACE TRIGGER TR_SIGHTING_DESC
BEFORE INSERT ON sightings
FOR EACH ROW
DECLARE bn birds.bird_name%type;
DECLARE NS VARCHAR2(10), EW VARCHAR2(10);
BEGIN
IF :new.latitude >= 0 THEN
EW := 'East'
ELSE
EW := 'West'
END IF;
IF :new.longitude >= 0 THEN
NS := 'North'
ELSE
NS := 'South'
END IF;
SELECT bird_name
INTO bn
from birds
where bird_id = :new.bird_id;
:new.description := 'A bird of the species '
|| bn
|| ' was spotted in the '
|| EW|| '-'|| NS
|| ' part of the observation area';
END;
/
INSERT INTO sightings (spotter_id, bird_id, latitude,
longitude, sighting_date)
VALUES (1024, 512, -25.6, 153, '09-MAR-2016');
if then文、およびトリガ一般のためのSQLの非常に新しいです。どんな助けも素晴らしいだろう!
問題は何ですか?エラーがありますか?もしそうなら、どんなエラー? – Aleksej
それはちょうどその失敗の再確認 – 101ldaniels