0
application_historyという表の時刻を更新しようとしていますが、それぞれの列名が列名に 'status'を設定しようとする 'CASE'セクションにリストされています。その後、その列を使用してその列に時間を挿入しようとします。 ここに私が試みたのは、トリガーの制限が何であるか分かりません。SQL on ORACLE APEX 5.x
create or replace TRIGGER update_application_history AFTER UPDATE ON application
FOR EACH ROW
DECLARE
status VARCHAR(35);
BEGIN
CASE
WHEN old.application_status LIKE 'Application Withdrawn' THEN SET status = 'APPLICATION_WITHDRAWN'
WHEN old.application_status LIKE 'Applicant Accepted Offer' THEN SET status = 'APPLICANT_ACCEPTED_OFFER'
WHEN old.application_status LIKE 'Applicant Declined Offer' THEN SET status = 'APPLICANT_DECLINED_OFFER'
WHEN old.application_status LIKE 'Applicant Invited for Assessment' THEN SET status = 'INVITED_TO_ASSESMENT_CENTRE'
WHEN old.application_status LIKE 'Applicant Invited for Interview' THEN SET status = 'INVITED_FOR_INTERVIEW'
WHEN old.application_status LIKE 'Applicant Offered Position' THEN SET status = 'APPLICANT_OFFERED_POSITION'
WHEN old.application_status LIKE 'Applicant Rejected'THEN SET status = 'APPLICANT_REJECTED'
END
UPDATE application_history
SET status = TO_CHAR(SYSDATE, 'DD/MM/YYYY HH24:MI:SS')
WHERE old.arn LIKE arn
END;
を助けてくれてありがとう。 – Zachary
私は次のものを使用します:=将来、アプリケーション履歴のregradasで、日付を使用しようとしましたが、列に日付だけが表示され、時間も表示する必要があります。それ以外の方法ですが、それはアプリケーション上で表現されているため、DATEの形式を変更することはできません。結局、私はVARCHARの代替案をあきらめて使いました。 – Zachary
@Zachary 'sysdate'いつも同様に時刻を保存していますので、' to_char(application_accepted_offer、 'DD-MM-YYYY HH24:MI:SS')をapplication_history'から実行するとチェックできます。日付がどのように*保存されているかは、表示方法とはまったく異なります。 –