Oracle 11gR2: Могу ли я использовать DBMS_PARALLEL_EXECUTE для запуска своего пользовательского кода PL / SQL?
Я подготовил некоторыескрипка:
CREATE TABLE t_process
("process_number" int, "process_status" varchar2(12))
;
INSERT ALL
INTO t_process ("process_number", "process_status")
VALUES (1, 'PROCESSING')
INTO t_process ("process_number", "process_status")
VALUES (2, 'PROCESSING')
INTO t_process ("process_number", "process_status")
VALUES (3, 'TO_BE_KILLED')
INTO t_process ("process_number", "process_status")
VALUES (4, 'PROCESSING')
INTO t_process ("process_number", "process_status")
VALUES (5, 'PROCESSING')
INTO t_process ("process_number", "process_status")
VALUES (6, 'TO_BE_KILLED')
INTO t_process ("process_number", "process_status")
VALUES (7, 'TO_BE_KILLED')
INTO t_process ("process_number", "process_status")
VALUES (8, 'WAITING')
INTO t_process ("process_number", "process_status")
VALUES (9, 'KILLED')
SELECT * FROM dual
;
Это моя процедура обработки:
CREATE OR REPLACE PROCEDURE MY_PROCEDURE(IN_ID IN NUMBER) IS
BEGIN
UPDATE T_PROCESS SET process_status = 'KILLING' WHERE process_number = IN_ID;
COMMIT;
-- DO SOME STUFF
UPDATE T_PROCESS SET process_status = 'KILLED' WHERE process_number = IN_ID;
COMMIT;
END MY_PROCEDURE;
Теперь я хочу использоватьDBMS_PARALLEL_EXECUTE
запустить этот кастом:SQL
DECLARE
id1 number = :id1;
id2 number = :id2;
BEGIN
MY_PROCEDURE(id1);
END;
Итак, мой вопрос:
Могу ли я использоватьDBMS_PARALLEL_EXECUTE
выполнить над оператором SQL?
Потому что я нашел толькоUPDATE
Примеры. Может бытьCREATE_CHUNKS_BY_SQL
выбрать толькоTO_BE_KILLED
а потомRUN_TASK
с вышеуказанным утверждением?