だから私はレコードのタイムスタンプを変更するトリガーを作成しようとしています、私はこれまでのところこれを持っています
create or replace TRIGGER job_date_set
AFTER INSERT OR UPDATE OF start_date, closing_date ON jobs
FOR EACH ROW
BEGIN
IF UPDATING THEN
CASE
WHEN :OLD.closing_date != :NEW.closing_date THEN
UPDATE jobs
SET closing_date = to_date(to_date(:NEW.closing_date,'DD/MON/YYYY')||' 23:59:59','DD/MON/YYYY HH24:MI:SS')
WHERE :OLD.job_id = job_id;
WHEN :OLD.start_date != :NEW.start_date THEN
UPDATE jobs
SET start_date = to_date(to_date(:NEW.start_date,'DD/MON/YYYY') ||' 00:00:00','DD/MON/YYYY HH24:MI:SS')
WHERE :OLD.job_id = job_id;
END CASE;
END IF;
IF INSERTING THEN
UPDATE jobs
SET closing_date = to_date(to_date(:NEW.closing_date,'DD/MON/YYYY') ||' 23:59:59','DD/MON/YYYY HH24:MI:SS')
SET start_date = to_date(to_date(:NEW.start_date,'DD/MON/YYYY')||' 00:00:00','DD/MON/YYYY HH24:MI:SS')
WHERE :OLD.job_id = job_id;
END IF;
END;
エラーの説明は次のとおりです。 コンパイルに失敗しました、17 行目 (16:54:27) コンパイル エラーに関連する行番号は、最初の BEGIN ステートメントに関連しています。これは、データベース トリガーのコンパイルにのみ影響します。PL/SQL: ORA-00933: SQL コマンドが正しく終了していませんコンパイルに失敗しました、15 行目 (16:54:27) コンパイル エラーに関連する行番号は、最初の BEGIN ステートメントに関連しています。これは、データベース トリガーのコンパイルにのみ影響します。PL/SQL: SQL文は無視されました
その音からすると、if ステートメントが適切に閉じられているとは思えませんが、どこが間違っているのかわかりません。