Oracle 11.2 데이터베이스에 테이블이 있습니다. table1의 특정 셀이 1의 값으로 업데이트되고 table2의 기존 행 수가> 0 인 경우 원격 서버에서 실행 파일을 실행하는 데이터베이스를 원합니다. 가능한 많은 경험이 없습니다. 데이터베이스에서 - 이것을 달성하기 위해 가능한가요?초보자가 Oracle Scheduler를 사용하여 이벤트 기반 작업 시작
Oracle Scheduler를 사용하여 작업을 작성하십시오. 작업은 즉시 실행되며 원격 서버에서 외부 실행 프로그램을 실행하는 데 사용됩니다. 작업이 존재하지만 아래 5 단계까지는 실행되지 않습니다 (가능합니까?). http://docs.oracle.com/cd/E11882_01/server.112/e17120/schedadmin001.htm#BAJHIDDC
UPDATE 문에서 실행되는 테이블의 열에 DML 트리거를 연결하십시오. http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/triggers.htm#CIHEHBEB
트리거는 다음과 같은 비즈니스 로직을 수행하는 PL/SQL 서브 프로그램는 PL/SQL 서브 프로그램에서 http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/triggers.htm#CIHEGACF
를 호출 있습니다 : 표에서 특정 셀 1에 해당, 그리고 만약의 경우 수의 테이블 2의 행이 0보다 큰 경우 5 단계로 진행하고, 그렇지 않으면 중지 (종료, 종료)합니다. 작업/스케줄러가이 기능을 제공하게되어 있지 않은 경우
- 는, 1 단계
에서 작업을 실행하거나, 같은 일을 달성하기위한 또 다른 방법은 무엇입니까? 즉, 데이터베이스 테이블을 변경하면 외부 작업이 트리거됩니다.
UPDATE 1 :
내가 그냥 매개 변수event_condition
를 사용
DBMS_SCHEDULER.CREATE_JOB
오라클 스케줄러를 사용하여 위의 단계 1-5를 구현할 수 있는지 궁금해? 위의 코드는 응용 프로그램이 항목에 대한 재고 수준이 낮은 임계 값 하락하는 스케줄러를 신호 할 때 시작하는 작업을 만듭니다
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'process_lowinv_j1',
program_name => 'process_lowinv_p1',
event_condition => 'tab.user_data.event_type = ''LOW_INVENTORY''',
queue_spec => 'inv_events_q, inv_agent1',
enabled => TRUE,
comments => 'Start an inventory replenishment job');
END;
: 여기
http://docs.oracle.com/cd/E11882_01/server.112/e25494/scheduse005.htm#CHDIAJEB
은 위의 링크에서 예제 수평.위의 코드를 수정하여 의도 한 단계를 수행 할 수 있습니까? 예를 들어 위의 2 ~ 4 단계를 event_condition
을 대신 사용하여 제거 할 수 있습니까? 그렇다면, 예를 들어, queue_spec
을 설정하는 방법과 같이 어떻게 생겼을까요?
감사합니다 저스틴, 네, 원격 서버에 에이전트를 배치 할 계획이었습니다. 위의 설명을 따르는 지 확실하지 않습니다. 프로세스가 상당히 복잡해 보입니다. 위의 업데이트 1을 참조하십시오.이 업데이트를 사용하면 더 쉽게 수행 할 수 있습니다. – ggkmath