2017-01-05 6 views
-2

도와 주시겠습니까? 두 개의 날짜와 한 개의 숫자 열을 비교하고 문자 열 단어에 삽입하는 트리거를 만들어야합니다. 나는 그것이 어떻게 보일 것인가 생각하지만 내 대본에서 뭔가 잘못되었다. 이것은 내 예입니다 감사합니다.오라클, 업데이트 전 트리거

create trigger booking_trigger 
before insert on booking 
for each row 
WHEN (new.booking_id IS NULL) 
    begin 
    if sys_date > paid_date and ammount>0 =:new.'Paid' from dual; 
    elsif sys_date > paid_date and ammount=0 =:new.'Not paid' from dual; 
    elsif sys_date < paid_date and ammount=0 =:new.'Waiting'; 
    else :=new.'Broken' 
    end if; 
end 
/
+0

귀하의 코드에 대한 자세한 내용을보실 수 있습니다 몇 가지 문제가있다; 사람들을 돕기 위해 구현해야하는 논리 및 테이블 구조를 게시하십시오. 또한 원하는 동작을하는 일부 샘플 데이터는 질문을 명확히하고 사람들이 게시하기 전에 예제 및 테스트 코드를 작성하는 데 도움이됩니다. – Aleksej

답변

1

IF THEN ELSIF부터 시작하겠습니다. 분명히 then 키워드가 누락되었습니다.

업데이트 할 항목은 무엇입니까? 그것이 a_column이라고합시다. 다음과 같은 경우에는 'Paid' 그 값을 설정

:new.a_column := 'Paid'; 

당신은 트리거 in the documentation