create or replace PROCEDURE tr_executesql (sqlstring IN VARCHAR2) AS
cid NUMBER;
numrows integer;
BEGIN
DBMS_OUTPUT.PUT_LINE(sqlstring);
/* Open new cursor and return cursor ID. */
cid := DBMS_SQL.OPEN_CURSOR;
/* Parse and immediately execute dynamic SQL statement. */
DBMS_SQL.PARSE(cid, sqlstring, DBMS_SQL.V7);
numrows := DBMS_SQL.EXECUTE(cid);
/* Close cursor. */
DBMS_SQL.CLOSE_CURSOR(cid);
EXCEPTION
/* If an exception is raised, close cursor before exiting. */
WHEN OTHERS THEN
DBMS_SQL.CLOSE_CURSOR(cid);
RAISE; -- reraise the exception
END tr_executesql;用tr_executesql执行动态的select
cid NUMBER;
numrows integer;
BEGIN
DBMS_OUTPUT.PUT_LINE(sqlstring);
/* Open new cursor and return cursor ID. */
cid := DBMS_SQL.OPEN_CURSOR;
/* Parse and immediately execute dynamic SQL statement. */
DBMS_SQL.PARSE(cid, sqlstring, DBMS_SQL.V7);
numrows := DBMS_SQL.EXECUTE(cid);
/* Close cursor. */
DBMS_SQL.CLOSE_CURSOR(cid);
EXCEPTION
/* If an exception is raised, close cursor before exiting. */
WHEN OTHERS THEN
DBMS_SQL.CLOSE_CURSOR(cid);
RAISE; -- reraise the exception
END tr_executesql;用tr_executesql执行动态的select
解决方案 »
- 一道面试题,求解释啊
- rowid 无效,求救,谢谢!
- java下的程序,请高人指点,能否用触发器来实现? 100分哟!!!!
- 找出 各个部门薪金(sal)排名 前的两个人 表是oracle9i 中的emp 表 结果是两个字段 depto 和sal
- ORACLE服务连接超时!跪求解决
- 两表关联统计问题?!急盼 谢谢!
- 请问在windows中安装在非系统区的oracle 9i,在系统重装后,是否不用再重新安装oracle就能正常使用?
- 请教高手:怎么对oracle数据库进行自动备份!
- 在linux下import一个windows下建的库的DMP文件,产生了乱码!
- 【紧急求助!】oracle触发器中如何获取某一个表的insert和delete语句操作失败
- 数据库不能exp备份,在线等待请求帮助
- RAC集群,如果其中一台机器崩溃,该台机器上连接的SESSION,能不能"不断掉"而直接平滑地移动到另一台正常工作的机器上??
is
type mycur is ref cursor ;
procedure get(p out mycur) ;
end test ;create or replace package body test
as
procedure get(p out mycur)
is
begin
open p for select * from emp ;
end get ;
end test ;
给你个看看改一下
create or replace package test
is
type mycur is ref cursor ;
procedure get(sqlstring int varhcar2,p out mycur) ;
end test ;create or replace package body test
as
procedure get(sqlstring int varhcar2,p out mycur)
is
begin
open p for sqlstring;
end get ;
end test ;