Wiwek,
Możesz użyć dynamicznego SQL do zbudowania instrukcji INSERT w funkcji lub procedurze PL/SQL. W ten sposób możesz wykorzystać zmienną „stopień”, którą już pobrałeś.
Coś takiego:
DECLARE
degree varchar2(1);
BEGIN
select value-2
INTO degree
from v$parameter
where name='cpu_count';
EXECUTE IMMEDIATE('INSERT /*+ APPEND PARALLEL (tst, '||degree||') */ '||
' INTO test_table tst ( '||
' ************** '||
' ************** '||
' ************** '||
' ) '||
'SELECT /*+ PARALLEL (a, '||degree||') */ '||
' DISTINCT '||
' ************** '||
' ************** '||
' ************** '||
' FROM src_table a');
END;