函数返回值一般是某一类型值,如int,varchar,date等,返回结果集时就需要用到setof语法. 创建数据 create table class(id number primary key, name varchar(20)); create table student(id number, name varchar(20),classtid number references class); insert into class values (1, '六年一班'),(2, '六年二班'…
Oracle中函数/过程返回结果集的几种方式: 以函数return为例,存储过程只需改为out参数即可,在oracle 10g测试通过. (1) 返回游标: return的类型为:SYS_REFCURSOR 之后在IS里面定义变量:curr SYS_REFCURSOR; 最后在函数体中写: open cur for select ......; return cur; 例: CREATE OR REPLACE FUNCTION A_Te…
pgsql function 系列之一:返回结果集--------------------------------------------------------------------------------我们在编写postgresql数据库的函数(或称为存储过程)时,时常会遇到需要返回一个结果集的情况,如何返回一个结果集,返回一个结果集有多少种方式,以及如何选择一个合适的方式返回结果集,这是一个需要仔细考虑的问题.本文仅简单的罗列出各种返回结果集的方式并试图分析他们的特点,而采用何种方式则…
近期需要一个汇总统计,由于数据太多,数据量太大所以在java程序中实现比较困难.若用后台程序统计,数据不能保证实时,同时实现周期比较长.顾使用函数返回结果集的方式,在不增加临时表的情况下实时获取数据.需求为:多个端口流量每五分钟累计汇总一次.如果用程序实现则为讲所有数据取出做每五分钟统计,元数据获取带来的数据量将是10万条以上. 在数据库中做汇总统计只需要24*12=288条记录. 具体实现方式如下: /*打开日志输出*/ Set serveroutput on ; /*创建类型*/ creat…
一.用自定义类型实现 1.创建表对象类型. 在Oracle中想要返回表对象,必须自定义一个表类型,如下所示: create or replace type type_table is table of number; 上面的类型定义好后,在function使用可用返回一列的表,稍后介绍返回多列的 2. 创建函数 在函数的定义中,可以使用管道化表函数和普通的方式,下面提供两种使用方式的代码: 1).管道化表函数方式: create or replace function f_pipe (s num…