에 업데이트 나는 두 개의 테이블이 있습니다오라클 SQL 트리거 날짜
평가 및 Assessment_Announcement
CREATE TABLE "ASSESSMENT"
( "ASSESSMENT_NAME" VARCHAR2(50) NOT NULL ENABLE,
"DEADLINE_DATE" DATE NOT NULL ENABLE,
CONSTRAINT "ASSESSMENT_PK" PRIMARY KEY ("ASSESSMENT_NAME") ENABLE
)
CREATE TABLE "ASSESSMENT_ANNOUNCEMENT"
( "ASSESSMENT_NAME" VARCHAR2(50) NOT NULL ENABLE,
"DEADLINE_DATE" DATE NOT NULL ENABLE,
"ATTENTION" VARCHAR2(500) NOT NULL ENABLE,
CONSTRAINT "ASSESSMENT_ANNOUNCEMENT_PK" PRIMARY KEY ("ASSESSMENT_NAME") ENABLE
)
나는 'ASSESSMENT_ANNOUNCEMENT'테이블에 업데이트 트리거를 구현에서 찾고을 때 DEADLINE_DATE의 날짜 ASSESSMENT 테이블의 열은 7 일 내에 있습니다. 데이터는 14 일 동안 저장되었을 수 있지만 마감일로부터 7 일 이내에는 트리거됩니다. 마감일로부터 7 일 이내에 삽입 날짜가 없으면 삽입시 트리거되지 않습니다.
CREATE OR REPLACE TRIGGER "TEST"
AFTER INSERT ON ASSESSMENT
FOR EACH ROW
BEGIN
insert into ASSESSMENT_ANNOUNCEMENT(ASSESSMENT_NAME, DEADLINE_DATE, ATTENTION)
values (:new.ASSESSMENT_NAME, :new.DEADLINE_DATE, 'DEADLINE IS 7 DAYS OR LESS');
WHERE DEADLINE_DATE >= (SYSDATE) - 7
어떤 도움과지도가 크게 감상 할 수있다 :
지금까지 나는 다음과 같은 코드가 있습니다!
감사합니다. 당신이 오라클 DATE
항상 하루 구성 요소 및 시간 구성 요소를 포함
BEGIN
IF :new.deadline_date >= sysdate + 7
THEN
INSERT INTO assessment_announcement(assessment_name, deadline_date, attention)
VALUES(:new.assessment_name, :new.deadline_date, 'Deadline is 7 days or less');
END IF;
END;
참고 원하는처럼
기존 코드에 어떤 문제가 있습니까? –