0
나는 새로운 주 값이 '발행'으로 발행 할 때
date_end
date_new date -1
로 변경할
CREATE OR REPLACE TRIGGER shares_to_amount
AFTER INSERT OR UPDATE OF issued ON shares_amount
FOR EACH ROW
BEGIN
INSERT INTO shares_amount(
share_issue_id,
share_id,
issued,
date_start,
date_end
) VALUES (
:OLD.share_issue_id,
:OLD.share_id,
:NEW.issued,
:NEW.date_start,
:((NEW.date_start)-1).date_end
);
END;
을 변경합니다. 시작 날짜는 오늘 날짜 일 수 있지만 종료 날짜는 그 전날을 표시해야합니다.SQL 오라클 트리거 날짜
새로운 값을 발행 할 때 date_end를 New date_start -1로 대체 할 트리거를 만들고 싶습니다. – user3202908
>> date_end를 New_ date_start -1로 대체합니다. - OK, WHOW ROW? 당신의 방아쇠를 보면서 당신은 같은 테이블에 새로운 레코드를 추가하려고하고 있다고 생각합니다. 이것은 트리거를 사용하여 불가능합니다. 기술적 관점이 아닌 비즈니스 관점에서 요구 사항을 명확하게 설명해 주시겠습니까? –
나는 shares_amount 테이블을 가지고있다. 그것은 회사에서 발행 한 데이터 공유, ID, 시작 날짜 및 종료 날짜 등을 포함합니다. 원하는 것은이 테이블에 삽입되기 전에 shares_amount 테이블을 업데이트하는 트리거를 작성하여 회사가 새 금액을 선언 할 때 현재 사용 가능한 공유의 경우, 현재 나열된 유효한 항목의 종료 날짜는 새 항목의 시작 날짜 전날로 설정됩니다. – user3202908