create or replace procedure GetListByTableName (Ptablename varchar,p_Cursor out housegrade.h_cursor) is
begin
open p_Cursor for select distinct * from Ptablename order by OrderMark;
EXCEPTION
when others then
rollback;
return ;
end ;系统报表不存在的错误,请问该怎么写呢?
begin
open p_Cursor for select distinct * from Ptablename order by OrderMark;
EXCEPTION
when others then
rollback;
return ;
end ;系统报表不存在的错误,请问该怎么写呢?
解决方案 »
- 我的pl/sql登陆不上去?ora-12569:TNS:包检验和失败。请高手指教!!!!
- 在PL/sql和Dos中怎么测试Oracle存储过程是否能打出数据
- 求解!!安装ORACLE的问题
- ORACLE中clear_block的问题
- oracle 表数据实时复制
- 请教SQL*PLUS中有没有启动审核的命令
- 新人求这SQL面试题答案
- 建立触发器问题
- 高手请进:为什么Connection refused?我在用下面的jsp语句连接oracle9数据库时总是报错Connection refused
- oracle8i 安装出错(提示copy XXX.jar 到某目录下出错,目标磁盘空间或源文件无法复制)
- 一个说难不难的触发器
- rman备份完成,占用资源不释放,该进程CPU和内存占用率还很搞
strSQL := 'select distinct * from '||Ptablename||' order by OrderMark';
open p_Cursor for strSQL;
declare
m_cursor housegrade.h_cursor;
begin GetListByTableName 'AA' , m_cursor;end;
我这样写老报错
SQL> EXECUTE TYPES.GETEMPS('tab_name',:CC); -- 传入表名和游标PL/SQL 过程已成功完成。SQL> PRINT CC; --察看取得的游标的结果AREA_CODE
----------
1
1
1
1
2
2
2
2
2已选择9行。
REFCURSOR not supported为什么我这样写报错呢?
p_Cursor out housegrade.h_cursor
不清楚是什么类型的,估计是自定义的
create or replace package types is
type cursorType is ref cursor;
procedure getemps (p_tname varchar2 ,p_cursor out cursorType );
end ;--包体
create or replace package body types as
procedure getemps (p_tname varchar2 ,p_cursor out cursorType )
as
l_str varchar2(100);
begin
DBMS_OUTPUT.put_line('BEGIN PROCEDURE ');
l_str := 'select * from '||p_tname ||' order by 1';
open p_cursor for l_str;
end getemps;
end ;
m_cursor housegrade.h_cursor;
begin
GetListByTableName('AA' , m_cursor);
end;