I guess you are missing smething in your code
Here is a pl/sql which show its working
ora816 SamSQL :> @t2
ora816 SamSQL :> declare
2 sqlstr varchar2(2000);
3 begin
4 sqlstr := 'insert into t1
5 select empno,ename,(Select dname from deptdup where deptdup.deptno=empdup.dept
6 execute immediate sqlstr;
7 end;
8 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.80
ora816 SamSQL :> select * from t1;
EMPNO ENAME NEWCOL
---------- ---------- --------------
7369 SMITH ACCOUNTING
7499 ALLEN ACCOUNTING
7521 WARD MANAGER
7566 JONES ACCOUNTING
7654 MARTIN ACCOUNTING
7698 BLAKE COMPUTER
7782 CLARK ACCOUNTING
7788 SCOTT ASSISTANT
7839 KING ACCOUNTING
7844 TURNER CLERK
7876 ADAMS ACCOUNTING
7900 JAMES CLERK
7902 FORD ACCOUNTING
7934 MILLER ACCOUNTING
14 rows selected.
Main Topics
Browse All Topics





by: BasharPosted on 2001-09-18 at 08:47:55ID: 6490972
I guess you should enclose the select statement used to insert data in table t3 with parantheses:
Insert into t3
(select t1.r1,
t1.r2,
t1.r3,
(Select r4 from t2 where t2.r1 = t1.r1
and t2.r2 = t1.r2)
from t1);
commit;
end;
What release of Oracle you are using??
Regards,
Bashar.