Plsql dbms_parallel_execute.task_status给出无效状态4
dbms_parallel_execute.task_状态返回4的原因是什么。下面是我的问题。 这项工作在没有记录处理的情况下被破坏了好几次。最后,它在调用dbms_parallel_execute.resume_task(l_task)时开始跳出循环 我有在运行时为L_try和L_status设置的值 已使用dbms_parallel_execute.create_chunks_by_rowid L_status=4,L_try=0,它在粗体点下方退出循环。。 请帮忙。。需要做什么才能使流程再次顺利运行Plsql dbms_parallel_execute.task_status给出无效状态4,plsql,Plsql,dbms_parallel_execute.task_状态返回4的原因是什么。下面是我的问题。 这项工作在没有记录处理的情况下被破坏了好几次。最后,它在调用dbms_parallel_execute.resume_task(l_task)时开始跳出循环 我有在运行时为L_try和L_status设置的值 已使用dbms_parallel_execute.create_chunks_by_rowid L_status=4,L_try=0,它在粗体点下方退出循环。。 请帮忙。。需要做什么才能使流程再
L_try := 0;
L_status := DBMS_PARALLEL_EXECUTE.TASK_STATUS(l_task);
dbms_output.put_line(L_status);
WHILE(l_try < 2 and L_status != DBMS_PARALLEL_EXECUTE.FINISHED)
LOOP
dbms_output.put_line(L_try);
L_try := l_try + 1;
**DBMS_PARALLEL_EXECUTE.RESUME_TASK(l_task);**
L_status := DBMS_PARALLEL_EXECUTE.TASK_STATUS(l_task);
END LOOP;
L_try:=0;
L_状态:=DBMS_并行_执行。任务_状态(L_任务);
dbms_输出。输入_行(L_状态);
WHILE(l_try<2,l_status!=DBMS_PARALLEL_EXECUTE.FINISHED)
环
dbms_output.put_line(L_try);
L_try:=L_try+1;
**DBMS_并行_执行。恢复_任务(l_任务)**
L_状态:=DBMS_并行_执行。任务_状态(L_任务);
端环;
状态4表示无块:
NO_CHUNKS CONSTANT NUMBER := 4;
因此,很可能您只是不生成任何用于处理的块。没有要处理的数据
如果无事可做,应避免运行任务(
DBMS\u PARALLEL\u EXECUTE.RUN\u task
)。如何执行分块?你能证明吗?那么我们必须在上面的代码中处理它。因为它意外地存在于DBMS_并行_执行点的程序中。恢复_任务(l_任务);如果无事可做,应避免运行任务(DBMS\u PARALLEL\u EXECUTE.RUN\u task
)。谢谢Maxim。如果没有要处理的记录,我将设置一个不执行并行处理的条件。