如题,谢谢了 :)
如果有资料的也可以发个,谢谢
如果有资料的也可以发个,谢谢
解决方案 »
- drop table 报错
- Oracel存储过程解析xml串(不是文件,是字符串)
- 求救:无法连接数据库,但是我ping ip 地址却连接的上
- 对ORACLE数据库服务器进行检测的应用程序经常报"ORA-03113:通信通道的文件结束!"的错误,为什么?
- 查询某条记录的前一条,后一条记录? 高手请进
- 同志们,我的oracle9i数据库今天因为误操作sql语句,把所有的表都删掉了,能恢复吗
- ORACLE中的SID是个什么概念呀
- 如何将oracle中的表导出成脚本?
- varchar(20)
- 同一个表达式,在select中可以查询出来,放在where条件里就报无效数字
- Oracle装完后,计算机名改了,监听程序无法启动!
- oracle安装在有还原卡的主机上,怎样保证新创建的数据库不丢
l_str VARCHAR2(1000);
BEGIN
l_str:='select ename from '||p_table;
RETURN l_str;
END;
/CREATE OR REPLACE PROCEDURE proc_test(p_table VARCHAR2,p_out OUT Sys_Refcursor) IS
l_str VARCHAR2(1000);
BEGIN
l_str:=get_sql(p_table);
dbms_output.put_line(l_str);
OPEN p_out FOR l_str;
END;
/DECLARE
l_c SYS_REFCURSOR;
l_v VARCHAR2(100);
BEGIN
proc_test('scott.emp',l_c);
LOOP
FETCH l_c INTO l_v;
dbms_output.put_line(l_v);
EXIT WHEN l_c%NOTFOUND;
END LOOP;
CLOSE l_c;
END;
/
输出:
select ename from scott.emp
SMITH
ALLEN
WARD
JONES
MARTIN
BLAKE
CLARK
SCOTT
KING
TURNER
ADAMS
JAMES
FORD
MILLER
MILLER
写了那么多给我,还测试了
然后我看了下资料:
http://blog.163.com/lwt352@126/blog/static/5294785820071020102831392/和您写的很像的,但是我想问下文章里的:
TYPE ref_cursor IS REF CURSOR和您写的:
Sys_Refcursor
使用上没有什么区别把?我baidu了下:资料不多,csdn里某哥贴有人回了句:
‘一个系统定义好的指针光标类型 可以通过这个参数传递你定义的光标’如果可以的话,告诉我有什么不同吧,麻烦了
从oracle7.3才被支持,在9i以后又有新的变化,在9i以前要define一個type才可以。
而在9i以后oracle引入了一个新的类型为sys_refcursor,这样就不需要我们重新定义。看下面的例子。