Oracle中Table函数简单应用实例
说明
表函数可接受查询语句或游标作为输入参数,并可输出多行数据。
该函数可以平行执行,并可持续输出数据流,被称作管道式输出。
应用表函数可将数据转换分阶段处理,并省去中间结果的存储和缓冲表。
优势
1.一些复杂的公用信息,但是建立视图又实现不了,此时可以考虑使用管道输出。
2.涉及运算较多,写个简单SQL实现起来较为麻烦,用table实现就ok了
实例
1.前期工作:
create or replace type ty_row as object
(
col1 varchar2(36),
col2 varchar2(36),
col3 varchar2(36)
);
create or replace type ty_table as table of ty_row;
2.接着定义一个函数,用于获取用户基本信息:
create or replace function f_get_user_info(v_user_id in varchar2 default null)
return ty_table as
v_user_list ty_table;
begin
select ty_row(t.user_id, nvl(t.emp_name, t.user_name), t.user_name) bulk collect
into v_user_list
from t_bs_user t
where t.user_id = v_user_id
or v_user_id is null;
return v_user_list;
end f_get_user_info;
3.使用就很简单了:
select * from table(f_get_user_info('1'))
Oracle中Table函数简单应用实例的更多相关文章
- Oracle中SYS_CONNECT_BY_PATH函数的妙用 ;
Oracle 中SYS_CONNECT_BY_PATH函数是非常重要的函数,下面就为您介绍一个使用SYS_CONNECT_BY_PATH函数的例子,实例如下: 数据准备: ),b )); ', 'A' ...
- Oracle 中 decode 函数用法
Oracle 中 decode 函数用法 含义解释:decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下:IF 条件=值1 THEN RETURN(翻译 ...
- oracle 中 dblink 的简单使用
oracle 中 dblink 的简单使用 dblink的作用 当用户要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中必须创建了远程数据库的dblink,通过dblink本地数据库可以像访 ...
- Oracle中wm_concat()函数的使用
Oracle中wm_concat()函数的使用 wm_concat()函数是oracle行列转换函数,该函数可以把列值以‘,’分割开来,并显示成一行. 1.原数据: 2.把结果分组以‘|’分隔,以一行 ...
- Oracle中trunc函数、round 函数、ceil函数和floor函数的使用
Oracle中trunc函数.round 函数.ceil函数和floor函数的使用 1.1trunc函数处理数字 trunc函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定 ...
- Oracle中REGEXP_SUBSTR函数(转)
Oracle中REGEXP_SUBSTR函数 Oracle中REGEXP_SUBSTR函数的使用说明: 题目如下:在oracle中,使用一条语句实现将'17,20,23'拆分成'17','20','2 ...
- Oracle中sign函数和decode函数的使用
Oracle中sign函数和decode函数的使用 1.比较大小函数SIGN sign(x)或者Sign(x)叫做 符号函数,其功能是取某个数的符号(正或负): 当x>0,sign(x)=1; ...
- oracle中extract()函数----用于截取年、月、日、时、分、秒
oracle中extract()函数从oracle 9i中引入,用于从一个date或者interval类型中截取到特定的部分 语法如下: extract ( { year | month | day ...
- oracle中使用函数控制过程是否执行(结合job使用)
oracle中使用函数控制过程是否执行(结合job使用时候,循环时间不好写的时候,可以此种方法比较方便) CREATE OR REPLACE FUNCTION wsbs_pk_date_validat ...
随机推荐
- Typora+PicGo+阿里云写博客笔记
Typora+PicGo+阿里云写博客笔记 选择这三个工具的理由 我一直有在使用typora使用mardown写作,毕竟typora很香,可以实时预览,非常丝滑. 配合上PicGo这个图床工具简直绝了 ...
- CloudIDE:为开发者写代码开启“加速”模式
摘要:华为云CloudIDE,以软件基础技术结合新时代业务场景,给开发者提供更高效.优质的开发体验,帮助开发者实现业务创新新动力,以硬核技术重塑云原生开发生产力. 本文分享自华为云社区<华为云C ...
- istio1.2.2 安装及使用示例
前言 本文介绍istio的安装及使用 dashboard,grafana,prometheus,kiali,jaeger的配置示例.演示通过istio的ingressgateway统一访问入口 Ist ...
- 858. Mirror Reflection
There is a special square room with mirrors on each of the four walls. Except for the southwest cor ...
- ECMAScript 2019(ES10)新特性简介
简介 ES10是ECMA协会在2019年6月发行的一个版本,因为是ECMAScript的第十个版本,所以也称为ES10. 今天我们讲解一下ES10的新特性. ES10引入了2大特性和4个小的特性,我们 ...
- 032- for循环语句
问题 请在控制台里面打印10次HelloWorld. 这时可能你会这么写: System.out.println("helloworld"); System.out.println ...
- hdu4503 概率
题意: 湫湫系列故事--植树节 Time Limit: 1000/500 MS (Java/Others) Memory ...
- hdu4081 最小树+DFS或者次小树的变形
题意: 给你一个全图,在里面找到一棵树,这棵树最多只有一条边可以不是最小树(也可以是), 要求 那对特殊的边的两个权值/除了这条边其他边的和最大. 思路: 方法有很多,最少有三种 ...
- Tomcat管理弱口令页面Getshell
目录 弱口令Getshell 利用Burpsuite对tomcat账号密码进行爆破 弱口令Getshell Tomcat安装完成后会有如下页面,点击该页面的 Manager App 处会弹出输入用户名 ...
- 利用ICMP进行命令控制和隧道传输
目录 使用ICMP进行命令控制 使用ICMP搭建隧道 使用ICMP进行命令控制 攻击机:Kali 192.168.10.11 靶机:Windows 192.168.10.1 使用的工具:icmpsh ...