전체 배열을 입력 매개 변수로 전달하거나 데이터베이스 내에서 세션 상태를 읽음으로써 데이터베이스 저장 프로 시저 내에서 Apex_application.g_fXX 값에 액세스하려고합니다. 이것이 가능한가? 이 작업을 수행하려는 이유는 모든 무거운 처리를 데이터베이스로 옮기고 싶기 때문입니다.저장 프로 시저에서 Apex_application.g_fXX 값에 액세스
TIA, Tamas
전체 배열을 입력 매개 변수로 전달하거나 데이터베이스 내에서 세션 상태를 읽음으로써 데이터베이스 저장 프로 시저 내에서 Apex_application.g_fXX 값에 액세스하려고합니다. 이것이 가능한가? 이 작업을 수행하려는 이유는 모든 무거운 처리를 데이터베이스로 옮기고 싶기 때문입니다.저장 프로 시저에서 Apex_application.g_fXX 값에 액세스
TIA, Tamas
확실히 작동하지 않는 이유는 무엇입니까?
CREATE OR REPLACE PACKAGE "APXPA_TEST" IS
PROCEDURE process_something;
PROCEDURE process_something2(i_values IN apex_application_global.vc_arr2);
END "APXPA_TEST";
/
CREATE OR REPLACE PACKAGE BODY "APXPA_TEST" IS
PROCEDURE process_something
IS
BEGIN
FOR i in 1..apex_application.g_F02.COUNT
LOOP
apex_debug_message.log_message('processing '||apex_application.g_f02(i)||'...');
END LOOP;
END;
PROCEDURE process_something2(i_values IN apex_application_global.vc_arr2)
IS
BEGIN
FOR i IN 1..i_values.COUNT
LOOP
apex_debug_message.log_message('processing '||i_values(i)||'...');
END LOOP;
END;
end "APXPA_TEST";
/
EMP를 기반으로 한 표 형식의 페이지를 만들었습니다. MRU 앞에 프로세스 포인트 On Submit - After Computations and Validations
이있는 페이지 프로세스를 만들었습니다.
apxpa_test.process_something;
apxpa_test.process_something2(apex_application.g_f02);
G_F02
는 ENAME
이제 페이지를 실행 및 디버깅을 가능하게 보유하고 있습니다. 그런 다음 양식을 제출하면 (아무 것도 편집 할 필요가 없음) 디버그보기로 이동하십시오. 마지막 항목을 선택하십시오. 페이지 프로세스가 진행되는 지점으로 스크롤하면 거기에 출력이 표시됩니다. (나는 단지 10을 사용했다)
Processes - point: AFTER_SUBMIT
...Process "some process" - Type: PLSQL
...Execute Statement: begin apxpa_test.process_something; apxpa_test.process_something2(apex_application.g_f02); end;
processing KING...
processing CLARK...
processing MILLER...
processing KING...
processing CLARK...
processing MILLER...
...Process "ApplyMRU" - Type: MULTI_ROW_UPDATE
...Process "ApplyMRD" - Type: MULTI_ROW_DELETE