问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

oracle 返回单行或者多行记录集

发布网友 发布时间:2022-05-03 20:00

我来回答

4个回答

热心网友 时间:2022-05-03 21:30

用游标,你就这么说没法帮你解答的太深

具体的oracle的游标用法可以上网搜索一下,不行的话我这有个word版的东西,但是看着挺费劲的
----补充-----
http://zhidao.baidu.com/question/176748549.html

这有个下午帮别人写的,涉及到游标的问题

热心网友 时间:2022-05-03 22:48

-- 先创建一个自定义类型
create or replace package types as
type cur_type is ref cursor;
end;

-- 返回游标的函数
CREATE OR REPLACE FUNCTION f_test(
in_param1 VARCHAR2 ,
in_param2 VARCHAR2 )
RETURN types.cur_type
AS
v_cursor types.cur_type;
v_sql VARCHAR2(2000);
BEGIN
v_sql := 'select * from table_name where 1 = 1';

OPEN v_cursor FOR
v_sql;

RETURN v_cursor;

END f_test;

热心网友 时间:2022-05-04 00:22

正常的方法就是返回一个游标,就像monkey_jnu说的一样。
如果想简单一点也可以用返回一个临时表名也行,就是msc_it说的方法:
CREATE OR REPLACE FUNCTION FUN_TEST RETURN VARCHAR2 AS
V_TABLE_NAME VARCHAR2(100);
V_SQL VARCHAR2(4000);
BEGIN
V_TABLE_NAME:='TEMP_'||TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS');
V_SQL:='CREATE TABLE '||V_TABLE_NAME||' SELECT * FROM TABLE_NAME';
RETURN V_TABLE_NAME;
END;
如果使用这种方法还需要再写个方法定期清理这一类型的表,以免太多的这些临时表导致数据库太大了

热心网友 时间:2022-05-04 02:14

在存储过程中建立一临时表,保存你要返回的结果,这样你想返回多少行记录都可以啦。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...每次文字比较多超出屏幕大小就不知道怎么截屏,求教大佬! 我国政策性 广西明士清医疗器械有限公司怎么样? 广西禾力药业有限公司怎么样? 广西龙母圣商贸有限公司怎么样? 安徽合肥有什么去痔的好地方 我女朋友的谷丙转氨酶过高(达到121),而且两对半检测为阴性,是肝功能有... 泸州丽人女子医院开展科室 自由之子本次世界杯是否将在小组赛中被菜? 世界杯谁会嬴 oracle 表空间和数据文件的问题 oracle空间数据库 具有8个相邻的oracle数据块,每个大小为8kb,那么它们构成的区有多大 hadoop 运行问题: ERROR streaming.StreamJob: Job not successful. Error: # of failed Map Tasks exce pl/sql出现ora-01882错误,job不能正常编辑,报错“未找到时区区域”!请高手速度解决! oracle数据库 alert.log里总是出现 ORA-08102 index key not Abaqus提示里出现的几个错误,求解- Error in job Job-1: 1 nodes are missing degree of freedoms. The MPC/Equation/kinematic coupling Error in job Job-12-fullrun: Problem when parsing keyword: Nastran提交计算时出现AssignProcessToJobObject failed, error code = 5.错误! 求助:ORA-04030:out of process memory abaqus Error 求助:Error in job Job-1: in keyword *EMBEDDEDELEMENT, file "Job-1.inp" abaqus中错误Error in job Job-4: IN STEP 1, ELEMENT 1 关于Oracle的告警 oracle ora-12012 oracle数据库使用imp导入到一个新的用户下的时候出现表空间无效的报错 oracle可以监控到软件执行的sql吗,求大神 pl sql developer怎么老是提示没有监听器啊 免安装的plsql怎么配置oracle监听 如何配置 ORACLE数据库 侦听器来使用SQL操作ST 如何安装/升级Opatch oracle 查cve 包含在哪个psu里面 oracle merge 问题 ubuntu 安装oracle11g 报错 rpm -ivh oracle-xe-11.2.0-1.0.x86_64.rpm --nodeps --force solaris安装oracle时出错: 调用 makefile '/export/home/oracle/ins_rdbms.mk' 的目标 'ioracle' 时出错 如何从 Oracle Solaris 10 实时安装到 Oracle Solaris 11 11/11 后缀名为sds的文件是什么文件? ORACLE里面LOBINDEX,LOBSEGMENT类型的是什么对象 一个关于oracle存储过程的clob问题 如何修改oracle RAC VIP地址 oracle rac 怎么修改local 如何查看oracle 配置单实例监听 oracle 监听 单机和rac的区别 如何在oracle主页上下到老的oralce版本。 谁知道oracle软件的下载地址??? 求oracle中文版本的下载地址? 求一个oracle 9i的下载地址,64位的,能下载的连接哈。 求一oracle下载地址,自己用,破解版的也可以 求oracle数据库服务器端下载的地址,我想自学oracle。 谁有oracle10.2.0.4 for linux版本下载地址