- 浏览: 91866 次
- 性别:
- 来自: 上海
文章分类
最新评论
PL/SQL表---table()函数用法
/*
PL/SQL表---table()函数用法:
利用table()函数,我们可以将PL/SQL返回的结果集代替table。
oracle内存表在查询和报表的时候用的比较多,它的速度相对物理表要快几十倍。
simple example:
1、table()结合数组:
*/
create or replace type t_test as object(
id integer,
rq date,
mc varchar2(60)
);
create or replace type t_test_table as table of t_test;
create or replace function f_test_array(n in number default null) return t_test_table
as
v_test t_test_table := t_test_table();
begin
for i in 1 .. nvl(n,100) loop
v_test.extend();
v_test(v_test.count) := t_test(i,sysdate,'mc'||i);
end loop;
return v_test;
end f_test_array;
/
select * from table(f_test_array(10));
select * from the(select f_test_array(10) from dual);
/*
2、table()结合PIPELINED函数:
*/
create or replace function f_test_pipe(n in number default null) return t_test_table PIPELINED
as
v_test t_test_table := t_test_table();
begin
for i in 1 .. nvl(n,100) loop
pipe row(t_test(i,sysdate,'mc'||i));
end loop;
return;
end f_test_pipe;
/
select * from table(f_test_pipe(20));
select * from the(select f_test_pipe(20) from dual);
/*
3、table()结合系统包:
*/
create table test (id varchar2(20));
insert into test values('1');
commit;
explain plan for select * from test;
select * from table(dbms_xplan.display);
/*
PL/SQL表---table()函数用法:
利用table()函数,我们可以将PL/SQL返回的结果集代替table。
oracle内存表在查询和报表的时候用的比较多,它的速度相对物理表要快几十倍。
simple example:
1、table()结合数组:
*/
create or replace type t_test as object(
id integer,
rq date,
mc varchar2(60)
);
create or replace type t_test_table as table of t_test;
create or replace function f_test_array(n in number default null) return t_test_table
as
v_test t_test_table := t_test_table();
begin
for i in 1 .. nvl(n,100) loop
v_test.extend();
v_test(v_test.count) := t_test(i,sysdate,'mc'||i);
end loop;
return v_test;
end f_test_array;
/
select * from table(f_test_array(10));
select * from the(select f_test_array(10) from dual);
/*
2、table()结合PIPELINED函数:
*/
create or replace function f_test_pipe(n in number default null) return t_test_table PIPELINED
as
v_test t_test_table := t_test_table();
begin
for i in 1 .. nvl(n,100) loop
pipe row(t_test(i,sysdate,'mc'||i));
end loop;
return;
end f_test_pipe;
/
select * from table(f_test_pipe(20));
select * from the(select f_test_pipe(20) from dual);
/*
3、table()结合系统包:
*/
create table test (id varchar2(20));
insert into test values('1');
commit;
explain plan for select * from test;
select * from table(dbms_xplan.display);
发表评论
-
转载 NoSQL非关系型数据库学习 这样对比下HBase, Memcached, MongoDB, Redis和Solr
2014-11-14 16:27 0Name HBase Memc ... -
Oracle创建dblink报错:ORA-01017、ORA-02063解决 (转载)
2013-07-23 17:09 1551Oracle创建dblink报错:ORA-01017、ORA ... -
ORACLE查看并修改最大连接数
2012-11-15 17:09 0阅读:1157次 时间:2010-03-15 2 ... -
oracle apache服务占用80端口
2012-06-19 09:27 763Posted on 2008-04-28 13:17 alle ... -
DataStage 简介 (
2012-05-18 14:01 1113DataStage 简介 (2010-05-27 19 ... -
oracle常用命令
2012-05-09 13:38 01.增加主键 alter table TABLE_NAM ... -
esri 常见几何对象的构造
2012-05-03 16:24 872常见几何对象的构造 介绍ESRI的ST_GEOMETRY的几 ... -
GIS 中地理坐标和屏幕坐标的标准转换方法
2012-05-03 16:10 1427GIS 中地理坐标和屏幕坐标的标准转换方法 在GIS中,当你 ... -
Oracle Spatial的简单应用补充——shapefile导入ORACLE
2012-05-03 15:32 1028Oracle Spatial的简单应用补充——shapefil ... -
weblgic 中oracle rac的配置
2012-05-02 18:55 0通过 select * from gv$instance;来查 ... -
Oracle 10g RAC的负载均衡配置
2012-04-27 12:32 0Oracle 10g RAC的负载均衡配置 负载均衡是指连接 ... -
weblogic集群配置
2012-04-26 11:00 0weblogic集群配置 -
数据库名,数据库实例名SID,数据库服务名,全局数据库名
2012-04-26 10:20 913数据库名,数据库实例名SID,数据库服务名,全局数据库名 一、 ... -
weblogic启动与关闭的自动登陆总结
2012-04-25 19:58 995weblogic启动与关闭的自 ... -
weblogic 10 linux
2012-04-23 23:59 1051[日期:2010-06-13] 来源:Linux社区 作者: ... -
OJDBC版本区别 [ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别]
2012-03-07 11:01 1086OJDBC版本区别 [ojdbc14.jar,ojdbc5.j ... -
oracle Spatial 函数
2011-12-22 15:25 2214Oracle_spatial的函数 一sdo_Geom包的函数 ... -
oracel表类型
2011-10-26 15:19 0表类型: 1堆组织表(heap organized table ... -
收藏 执行计划
2011-08-19 15:32 664如何看懂ORACLE执行计划 一、什么是执行计划 An exp ... -
oracel 不走索引的原因(来自网络)
2011-08-18 10:54 1348SQL优化器简介 基于规 ...
相关推荐
标题和描述中提到的“postgresql 兼容 oracle 函数”就是指在PostgreSQL中实现与Oracle类似的函数,以便于在两个系统间平滑过渡。 Oracle数据库拥有大量的内置函数,如日期处理、字符串操作、数学计算等,这些在...
根据提供的文件信息,以下是从标题、描述以及部分代码示例中提炼出的关于Oracle数据库中与表(Table)操作相关的常用命令及其详细解释: ### 1. 创建表(Create Table) **命令格式**: ``` sql> create table table_...
oracle表的构建
Oracle自定义函数返回一张表。主要用于生成一张等时间间隔的表数据。
表函数可接受查询语句或游标作为输入参数,并... FROM TABLE (myfunction (CURSOR (SELECT * FROM mytab))); 2. 利用两个实体化视图(或表)作为样板数据 CREATE MATERIALIZED VIEW sum_sales_country_mv BUILD IMME
Oracle 中实现 Split 函数功能 Oracle 中实现 Split 函数功能是指在 Oracle 数据库中实现类似于 C# 等编程语言中的 Split 函数,用于拆分字符的功能。下面是实现 Oracle 中 Split 函数功能的详细介绍。 首先,...
### Oracle管道函数详解 #### 一、概述 Oracle管道函数是一种特殊类型的函数,它能够返回一个数据集合,并且能够在函数执行的过程中逐步返回结果,而不仅仅是最后的结果。这种特性使得管道函数非常适合于处理大量...
Oracle分析函数是数据库管理系统Oracle中一组强大的工具,用于处理集合数据,特别是在复杂的报表和数据分析场景中。它们允许用户在单个SQL查询中执行聚合操作,同时保持行的原始顺序,这是传统的GROUP BY函数无法...
### Oracle Split 函数详解 #### 一、Oracle Split 函数简介 在Oracle数据库中,并没有内置的split函数来处理字符串的分割操作。然而,在实际应用中,经常需要将一个包含多个值的字符串按照指定的分隔符进行拆分,...
本博客简单介绍一下oracle分组函数之rollup的用法,rollup函数常用于分组统计,也是属于oracle分析函数的一种 环境准备 create table dept as select * from scott.dept; create table emp as select * from ...
### Oracle权限函数详解 在Oracle数据库管理中,权限管理是一项重要的任务,它涉及到对用户、角色及对象等数据库实体的访问控制。通过合理地分配权限,可以有效地保护数据的安全性和完整性,同时确保业务流程的正常...
Oracle 数据库函数大全集合 Oracle 数据库函数大全集合是一个非常全面的函数集合,包含了多种常用的函数,以下是对每个函数的详细介绍: 1.ASCII 函数 ASCII 函数返回与指定的字符对应的十进制数。例如,SQL> ...
1. **创建Oracle函数**:在Oracle数据库中,我们首先需要创建一个自定义函数。例如,我们可以创建一个计算两个数字之和的函数`ADD_NUMBERS`: ```sql CREATE OR REPLACE FUNCTION ADD_NUMBERS(p_num1 NUMBER, p_...
### Oracle常见函数整理 #### 一、ASCII函数 **功能:** 返回与指定的字符相对应的十进制数值。 **语法:** ```sql ASCII(char) ``` **示例:** ```sql SELECT ASCII('A') AS "A", ASCII('a') AS "a", ASCII(' ') ...
### Oracle公共函数详解 #### 一、ASCII函数 **功能:** 返回与指定字符相对应的十进制数值。 **语法格式:** ```sql ASCII(char) ``` **示例:** ```sql SELECT ASCII('A') AS "A", ASCII('a') AS "a", ASCII('0')...
Oracle9i函数大全是一份详尽的文档,涵盖了在Oracle9i数据库中广泛使用的各种函数。这些函数在数据库管理和开发中扮演着至关重要的角色,帮助用户处理和操作数据。以下是一些关键函数的详细说明: 1. **ASCII()**:...
### Oracle常用函数集详解 #### 一、ASCII函数 **功能描述:** ASCII函数用于返回与指定字符相对应的十进制数值。 **语法格式:** ```sql ASCII('字符') ``` **示例:** ```sql SELECT ASCII('A') A, ASCII('a') ...
根据提供的Oracle管道函数和动态游标的代码片段及描述,我们可以深入了解其背后的技术要点与实现细节。下面将逐一解析这些知识点。 ### Oracle管道函数 管道函数(Pipe-lined Function)是Oracle中一种特殊类型的...
Oracle数据库系统包含丰富的内置函数,这些函数用于处理各种数据类型,包括字符串、数值以及日期等。以下是关于Oracle系统函数的一些详细说明,以标题和描述中提到的几个为例: 1. ASCII 函数: ASCII 函数返回一...
根据提供的信息,我们可以详细地探讨Oracle数据库中一系列重要的内置函数及其使用方法。这些函数涵盖了数据转换、文本处理、数学计算等多个方面,在实际的数据库管理和应用开发中极为常见且实用。 ### 1. ASCII函数...