动态sql就可以啊
tsql:=proname;
execute immediate tsql;
tsql:=proname;
execute immediate tsql;
解决方案 »
- 新手求助~关于Oracle登录的问题,错误ORA-28547
- 依然是分组打分的问题
- oracle数据库中表字段类型有Long型怎么备份
- 根据时间字段,统计 相邻记录,时间间隔大于半小时的记录数,在线等
- 关于一个基于多张表创建视图的问题,望高人赐教!
- oracle9i回滚段问题
- 跪求从sql改写成存储过程 就这点分了别嫌少
- 请问一下 ORA-02042:这个问题
- 大家好,请问怎么另外创建一个数据库!
- 急问:oracle客户端通过odbc配置服务器的问题
- oracle字符号集的问题,为什么在win2000上用client上的sqlplus选出的数据是乱码???
- 如何用SQL语言,实现DATABASE LIKE
如果在PL/SQL中真支持这种语法,还请说明白点,在下先谢谢了。
c_sql varchar2(500);
begin
for pro_name in 你的存储过程名字的集合
loop
c_sql:='begin '||pro_name||';end;';
execute immediate c_sql;
end loop;
end;
tsql:=proname;
execute immediate tsql;
end loop;
客户端调用后台函数,返回结果集, 但是连续执行超过 80多次后
报 ORA-01000: maximum open cursors exceeded 错误下面是我的代码:create package pk_test as
t_cur is ref cursor;
function fn_GetResult return t_cur;
end pk_test;
/
create package body pk_test as
function fn_GetResult return t_cur
is
rs t_cur;
sqlview varchar2(1000);
rst t_cur ;
begin
sqlview := 'select * from table ';
if rst%isopen then
close rst; /* 因为要返回结果集, 所以不能在 return 之前关闭*/
end if;
return rst;
end fn_GetResult;end pk_test ;
但是 CLOSE 不能工作。 该如何去做? 使用其他的方法
create or replace procedure exec_my is
c_sql varchar2(122);
begin
for pro_name in 你的存储过程名字的集合
loop
ssql:='begin '||pro_name||';end;';
execute immediate ssql;
end loop;
end;