我写一简单脚本如下:
begin
execute immediate 'create table tb(id int)';
insert into tb values(1);
end;
/
执行时会提示表或视图不存在,后来修改如下:
declare
v_num float;
begin
execute immediate 'create table tb(id int)';
--下面for循环会执行10秒以上
v_num:=1.234566;
for i in 1..100000 loop
v_num:=cos(v_num);
end loop;
insert into tb values(1);
end;
/
执行后仍然提示表或视图不存在
请问是否是因为execute immeditate 与DML有运行优先级的不同?
还是因为其它原因?execute immediate
begin
execute immediate 'create table tb(id int)';
insert into tb values(1);
end;
/
执行时会提示表或视图不存在,后来修改如下:
declare
v_num float;
begin
execute immediate 'create table tb(id int)';
--下面for循环会执行10秒以上
v_num:=1.234566;
for i in 1..100000 loop
v_num:=cos(v_num);
end loop;
insert into tb values(1);
end;
/
执行后仍然提示表或视图不存在
请问是否是因为execute immeditate 与DML有运行优先级的不同?
还是因为其它原因?execute immediate
execute immediate 'create table tb(id int)';
execute immediate 'insert into tb values(1)';
commit;
end;应该就没问题了