在ORACLE中返回游标结果集你需要写到一个包中:
create or replace package pag_cs_power as type c_Type is ref cursor;
FUNCTION FUN_CS_GETDICTLIST(
v_DictIndex in varchar2) return c_Type;end pag_cs_power;函数代码:FUNCTION FUN_CS_GETDICTLIST(
v_DictIndex in varchar2) return c_Type
as
c_cursor c_Type;
begin
open c_cursor for
select DICTID,DICTNAME FROM SYS_DICT WHERE DICTINDEX = v_DictIndex;
return c_cursor;
end FUN_CS_GETDICTLIST;
create or replace package pag_cs_power as type c_Type is ref cursor;
FUNCTION FUN_CS_GETDICTLIST(
v_DictIndex in varchar2) return c_Type;end pag_cs_power;函数代码:FUNCTION FUN_CS_GETDICTLIST(
v_DictIndex in varchar2) return c_Type
as
c_cursor c_Type;
begin
open c_cursor for
select DICTID,DICTNAME FROM SYS_DICT WHERE DICTINDEX = v_DictIndex;
return c_cursor;
end FUN_CS_GETDICTLIST;
解决方案 »
- oracle 全文索引 谁用过? 帮帮忙。。。
- 全文索引ctx_report.query_log_summary 运行错误
- 晕啊,看了论坛里的字符集的贴,我的机器还是有问题啊
- oracle10g导出来的文件怎么导到9I中?有没有实际的例子或代码
- 如何实现在某个时间点自动更新记录(不能用JOB)
- 怎样再触发器中并行执行多条sql语句?
- 如何知道某一条记录是否被锁定?
- 新建的数据库怎么连不上啊
- 那些oracle的书籍比较经典?
- 新问题,在oracle8i安装过程中,已经安装默认的数据库,但是安装完成后无scott这一用户?
- 关于oci出错的问题,请高手指教。
- 请问oracle支持双向的游标吗?如果不支持,那些连接到oracle的记录集是如何实现movenext, moveprev双向的?
但我还是不懂,
我在delphi中要显示这个记录集,
应该怎样调用这个包呢?
存储过程可以用组件Tadostoreproc来调用,
但是包怎样调用呢?
create procedure query
as
mmm 表名%rowtype;
begin
select * into mmm from 表名;
end;
AS
TYPE myrctype IS REF CURSOR;
END pkg_test;
/create procedure query(p_rc out pkg_test.myrctype)
as
begin
open p_rc for select * from tab1;
end;
/至于delphi怎样调用,具体还是查看相关资料