oracle的存储过程中为何无法使用cte
以前在sqlserver 2008中,可以使用CTE进行开发,避免了定义很多临时表,代码结构也比较清晰,现在转到了oracle上面开发,发现CTE只允许在查询中使用,无法在存储过程中使用,这是为何,查了半天这方面的资料,没有一个确切的答案,上来指教大家 Oracle 存储 SQL?Server Structure CTE
[解决办法]
create table t_emp as select * from scott.emp where 1=2;
/
create or replace procedure cte is
begin
insert into t_emp
with emp_1 as
(select * from scott.emp)
select * from emp_1;
commit;
end;
/