2012-08-03 4 views
1

열의 값을 업데이트하는 업데이트 트리거를 만들고 싶습니다. 열이 status2가 동일한 테이블에서 업데이트되었다고 말한 후 데이터베이스에서 status1을 업데이트합니까?트리거 업데이트 지연

하지만이 (업데이트)은 3 분 후에 발생합니다.

샘플 코드

+0

(1) 왜 그런 일을하고 싶습니까? (2) 당신은 방아쇠의 내부에서 그런 일을 할 수 없을 것입니다. 아마도 일종의 dbms_scheduler 작업이 필요할 것입니다. 너 뭐 해봤 니? – eaolson

+0

dbms_scheduler에 대해 아무것도 모르겠다.하지만 사용자가 이전 주문을하면 상태 변경이 필요한 프로젝트에서 작업하고 있으므로 사용자가 주문한 항목을 3 분 이내에 지불했다면 dbms_scheduler에 대해 아무 것도 모른다. 삭제되거나 상태가 되돌아 와서 null이됩니다. 방금 ​​업데이트 트리거가 생길 수 있지만 3 분 동안 지연시키는 방법을 모릅니다. – user1575044

답변

1

주시기 바랍니다 여기에 내가 무엇을 할 것이라고입니다 :

  1. 배치하지만 삼분 후 지불되지 않은 주문 테이블을 스캔의 PL/SQL 프로 시저를 만듭니다. 주문 시간을 알 수 있도록 테이블에 타임 스탬프 또는 무언가가 있다고 가정합니다.

  2. 프로 시저를 호출하는 DBMS_SCHEDULER 작업을 만듭니다. 작업을 3 (또는 2 또는 1) 분마다 실행하십시오.

  3. 이제 정상적으로 테이블에 삽입하면됩니다.