一、table()与返回值为数组类型的普通函数一起使用:
--创建类型 CREATE OR REPLACE TYPE T_MYTEST AS OBJECT( ID NUMBER, TIME DATE, NAME VARCHAR2(60) ); / --创建T_MYTEST类型的数组 T_MYTEST_TABLE CREATE OR REPLACE TYPE T_MYTEST_TABLE AS TABLE OF T_MYTEST; / --创建普通函数,返回数组类型,用数组的实例存放结果集 CREATE OR REPLACE FUNCTION F_TEST_ARRAY(N IN NUMBER DEFAULT NULL) RETURN T_MYTEST_TABLE AS T_ARRAY T_MYTEST_TABLE:=T_MYTEST_TABLE(); BETIG FOR I IN 1..NVL(N,100) LOOP T_ARRAY.EXTEND(); T_ARRAY(T_ARRAY.COUNT):=T_TEST(I,SYSDATE,''||I); END LOOP; RETURN T_ARRAY; END; / --测试sql select * from table(F_TEST_ARRAY(10));
二、用返回类型为数组的管道函数,这里没有用到存放中间结果的变量,每处理完一条记录立刻返回
create or replace function f_test_pipe(n number defaule null) return t_mytest_table pipelined as begin for i in 1..nvl(n,100) loop pipe row(t_test(i,sysdate,i||'')); end loop; return; end; /
三、table调用包中返回类型为数组类型的函数 dbms_xplan.display是返回类型为数组的管道函数
create table test(id number,name varchar2(30)); insert into test value(1,'a'); explain plan for select * from test; select * from table(dbms_xplan.displan);
相关推荐
Lag和Lead函数可以在一次查询中取出同一字段的前N行的数据和后N行的值。这种操作可以使用对相同表的表连接来实现,不过使用LAG和LEAD有更高的效率。 代码如下:CREATE TABLE salaryByMonth( employeeNo varchar2(20)...
Oracle 自定义split 函数 Oracle没有提供split函数,但可以自己建立一个函数实现此功能。比如“abc defg hijkl nmopqr stuvw xyz”,分隔符是空格,但空格个数不定。 源代码: CREATE OR REPLACE TYPE ty_str_...
如果需要在客户端实时的输出函数执行过程中的一些信息,在oracle9i以后可以使用管道函数(pipeline function)。 关键字PIPELINED表明这是一个oracle管道函数,oracle管道函数的返回值类型必须为集合 --创建一个集合...
Oracle 数据类型及存储方式 概述 通过实例,全面而深入的分析oralce的基本数据类型及它们的存储方式。以ORACLE 10G为基础,介绍oralce 10g引入的新的数据类型。...3. 使用dump函数可以查看每一行的内部存数结构。
主要给大家介绍了关于Oracle中匿名TABLE/VARRAY类型的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用oracle具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
1. Decode()函数使用技巧(NT+IIS+ASP+ORACLE) 2. Dual伪列 3. EXP、IMP 命令详解 4. Exp-Imp大量数据 5. Export-Import 使用技巧与常见错误 6. NULL 使用详解 7. Oracle for NT系统实用工具介绍 8. Oracle ...
查询 SELECT语句用于从数据库中查询数据,当在PL/SQL中使用SELECT语句时,... FROM {table|(sub-query)}[alias] WHERE............ PL/SQL中SELECT语句只返回一行数据。如果超过一行数据,那么就要使用显式游标
以下为简要使用步骤,如果想参考详细使用方法,也可以参考ORACLE联机帮助。 1.设置表空间为只读(假定表空间名字为APP_Data 和APP_Index) alter tablespace app_data read only; alter tablespace app_index read ...
│ ORACLE的索引和约束详解 - Oracle10g - 沪城篱笆.mht │ oracle里常用命令 - Oracle - 51CTO技术论坛_中国领先的IT技术社区.mht │ Sequence相关操作命令 - lvhuiqing的专栏 - CSDN博客.mht │ Sequence相关操作...
在ORACLE系统里,触发器类似过程和函数,都有声明,执行和异常处理过程的PL/SQL块。 触发器类型 触发器在数据库里以独立的对象存储,它与存储过程和函数不同的是,存储过程与函数需要用户显示调用才执行,而触发器是...
13.PL_SQL单行函数和组函数详解 14.PL-SQL 15.PLSQL异常处理初步 16.SQL语句性能调整原则 17.创建和使用分区的表 18.基于成本的优化器一般错误概念和问题 19.Delphi 3_0中连接数据库的三种方式 20.远程...
为了解决这些问题,在2003年ISO SQL标准加入了开窗函数,开窗函数的使用使得这些经典的难题可以被轻松的解决。 目前在 MSSQLServer、Oracle、DB2 等主流数据库中都提供了对开窗函数的支持,不过非常遗憾的是 MYSQL ...
有时候不用的指标的绝对值不能比,但是转转为百分比的形式就容易看出波动了,是数据分析的好用的一个分析函数 20:00:24 SYS@orcl> conn scott/tiger; Connected. 20:00:30 SCOTT@orcl> create table test 20:01:22 ...
在Oracle数据库中,我们能否找到未提交事务(uncommit transactin)的SQL语句或其他相关信息呢? 关于这个问题,我们先来看看实验测试吧。实践出真知。 首先,我们在会话1(SID=63)中构造一个未提交的事务,如下所:...
这5个函数分别对应不同的显示计划的方式,DBMS_XPLAN包不仅可以获取解释计划,它还可以用来输出存储在AWR,SQL调试集,缓存的SQL游标,以及SQL基线中的语句计划,实现如上的功能,通常会用到一下5个方法: ...
《精通SQ:结构化查询语言详解》全面讲解SQL语言,提供317个典型应用,读者可以随查随用,针对SQL Server和Oracle进行讲解,很有代表性。 全书共包括大小实例317个,突出了速学速查的特色。《精通SQ:结构化查询语言...
初学mysql时,可能不太明白delimiter的真正用途,delimiter在mysql很多地方出现,比如存储过程、触发器、函数等。 学过oracle的人,再来学mysql就会感到很奇怪,百思不得其解。 其实就是告诉mysql解释器,该段命令...
SQL%NOTFOUND 是一个布尔值。与最近的sql语句(update,insert,delete,select)发生交互,当最近的一条sql语句没有涉及任何行的时候,则返回true。... insert into table_name (id,name,salary)values("","","")
Oracle系统为了合理分配和使用系统的资源提出了概要文件的概念。所谓概要文件,就是一份描述如何使用系统的资源(主要是CPU资源)的配置文件。将概要文件赋予某个数据库用户,在用户连接并访问数据库服务器时,系统就...