问题描述
嗨,
我遇到了下面的代码spinet:
声明
..
..
开始
..
..
立即执行 'alter SESSION启用并行dml';
从TABLE_TEST中删除/* PARALLEL(TABLE_TEST,4) */其中ID IN (从TABLE_2中选择ID);
结束;
由于在不同的会话中执行即时进程DDL,DML所做的更改会在这里使用并行4进行吗??
如果不能,请协助如何实现它。
我遇到了下面的代码spinet:
声明
..
..
开始
..
..
立即执行 'alter SESSION启用并行dml';
从TABLE_TEST中删除/* PARALLEL(TABLE_TEST,4) */其中ID IN (从TABLE_2中选择ID);
结束;
由于在不同的会话中执行即时进程DDL,DML所做的更改会在这里使用并行4进行吗??
如果不能,请协助如何实现它。
专家解答
“因为在不同的会话中执行即时进程DDL”
你凭什么这么想?立即执行仍然适用于 * 当前 * 会话。例如:
你凭什么这么想?立即执行仍然适用于 * 当前 * 会话。例如:
SQL> create table t 2 as select rownum x 3 from all_Objects 4 where rownum <= 10; Table created. SQL> SQL> set serverout on SQL> SQL> declare 2 c int; 3 begin 4 select count(*) into c from t; 5 dbms_output.put_line(c); 6 7 execute immediate 'delete from t'; 8 9 select count(*) into c from t; 10 dbms_output.put_line(c); 11 end; 12 / 10 0 PL/SQL procedure successfully completed.
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




