oracle开发学习篇之集合函数
集合函数;
declare
type list_nested is table of varchar2(100) not null;
v_all list_nested := list_nested('changan','hubei','shanghai','beijing','Android','Java-Android');
BEGIN
v_all.delete(1);
for x in v_all.first .. v_all.last loop
dbms_output.put_line(v_all(x));
end loop;
--dbms_output.put_line('list leng:' || v_all.count );
end;
/ declare
type list_nested is table of varchar2(100) not null;
v_all list_nested := list_nested('changan','hubei','shanghai','beijing','Android','Java-Android');
BEGIN
v_all.delete(1,3); --指定删除索引范围的数据;
for x in v_all.first .. v_all.last loop
dbms_output.put_line(v_all(x));
end loop;
dbms_output.put_line('list leng:' || v_all.count );
end;
/ declare
type list_nested is table of varchar2(100) not null;
v_all list_nested := list_nested('changan','hubei','shanghai','beijing','Android','Java-Android');
BEGIN
if v_all.EXISTS(1) then
dbms_output.put_line('索引为1的数据存在');
end if;
if not v_all.EXISTS(10) then
dbms_output.put_line('索引为10的数据不存在');
end if;
end;
/ declare
type list_nested is table of varchar2(100) not null;
v_all list_nested := list_nested('FireFox','firefox.com','www.firefox.com');
begin
dbms_output.put_line('原始长度' || v_all.count);
v_all.extend(2);
dbms_output.put_line('扩充之后长度' || v_all.count);
v_all(4) := 'www.google.com';
v_all(5) := 'Google.com';
for x in v_all.first .. v_all.last loop
dbms_output.put_line(v_all(x));
end loop;
end;
/ 范例
扩充集合长度,并使用已有内容填充
declare
type list_nested is table of varchar2(100) not null;
v_all list_nested := list_nested('FireFox','firefox.com','www.firefox.com');
begin
dbms_output.put_line('原始长度' || v_all.count);
v_all.extend(2 , 3);
dbms_output.put_line('扩充之后长度' || v_all.count);
for x in v_all.first .. v_all.last loop
dbms_output.put_line(v_all(x));
end loop;
end;
/ 范例
集合函数count limit
declare
type list_varray is varray(20) of varchar2(100);
v_info list_varray := list_varray('firefox.com','www.firefox.com','www.oracle.com');
begin
dbms_output.put_line('数组集合的最大长度' || v_info.limit);
dbms_output.put_line('数组集合的数据量' || v_info.count);
end;
/ declare
type info_index is table of varchar2(20) index by PLS_INTEGER;
v_info info_index;
v_foot number;
begin
v_info(1) := 'FireFox';
v_info(10) := 'Java';
v_info(-10) := 'oracle';
v_info(-20) := 'EJB';
v_info(30) := 'Android';
v_foot := v_info.first;
while (v_info.exists(v_foot)) loop
dbms_output.put_line('v_info (' || v_foot ||') = ' || v_info(v_foot);
v_foot := v_info.next(v_foot) ;
end loop;
end;
/ declare
type info_index is table of varchar2(20) index by PLS_INTEGER;
v_info info_index;
v_foot number;
begin
v_info(1) := 'FireFox';
v_info(10) := 'Java';
v_info(-10) := 'oracle';
v_info(-20) := 'EJB';
v_info(30) := 'Android';
DBMS_OUTPUT.put_line('索引为10的下一个索引是:' || v_info.next(10));
dbms_output.put_line('索引为-10的上一个索引是:' || v_info.prior(-10));
end;
/ declare
type list_varray is varray(8) of varchar2(50);
v_info list_varray := list_varray('FireFox','www.FireFox','www.Google.com','EJB');
begin
dbms_output.put_line();
for x in v_info.first .. v_info.last loop
dbms_output.put_line(v_info(x));
end loop;
end;
/
declare
type list_varray is varray(8) of varchar2(100);
v_info list_varray := list_varray('FireFox','www.firefox.com','oracle','oracle_username');
begin
dbms_output.put_line('删除集合之前的数量:' || v_info.count);
v_info.trim; -- 删除一个数据;
dbms_output.put_line('v_info.trim 删除集合之后的数据量 :' || v_info.count);
v_info.trim(2); -- 删除2个数据;
dbms_output.put_line('v_info.trim(2) 删除集合之后的数据量 :' || v_info.count);
for x in v_info.first .. v_info.last loop
dbms_output.put_line(v_info(x));
end loop;
end;
/
oracle开发学习篇之集合函数的更多相关文章
- oracle开发学习篇之集合运算符以及集合异常捕获
--取出集合;长度 declare type list_nested ) not null; v_all list_nested := list_nested('a','b','c','d','c', ...
- python开发学习-day03(set集合、collection系列 、深浅拷贝、函数)
s12-20160116-day03 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...
- Oracle DBA学习篇之SQL_TRACE
SQL_TRACE ; ; set serveroutput on; alter session set sql_trace=true; select count(*) from firefox; a ...
- Oracle学习第三篇—多行函数
0 order by asc/desc 默认升序 order by 列的名字|表达式|别名|序号 把空放在后边:order by desc nulls last 1分组函数--会自动滤空值 count ...
- ASP.NET Core Web开发学习笔记-1介绍篇
ASP.NET Core Web开发学习笔记-1介绍篇 给大家说声报歉,从2012年个人情感破裂的那一天,本人的51CTO,CnBlogs,Csdn,QQ,Weboo就再也没有更新过.踏实的生活(曾辞 ...
- Unity 3D游戏开发学习路线(方法篇)
Unity 3D本来是由德国的一些苹果粉丝开发的一款游戏引擎,一直只能用于Mac平台,所以一直不被业外人士所知晓.但是后来也推出了2.5版,同时发布了PC版本,并将其发布方向拓展到手持移动设备.Uni ...
- iOS开发数据库篇—SQLite常用的函数
iOS开发数据库篇—SQLite常用的函数 一.简单说明 1.打开数据库 int sqlite3_open( const char *filename, // 数据库的文件路径 sqlite3 * ...
- iOS开发Swift篇—(七)函数(1)
iOS开发Swift篇—(七)函数 一.函数的定义 (1)函数的定义格式 func 函数名(形参列表) -> 返回值类型 { // 函数体... } (2)形参列表的格式 形参名1: 形参类型1 ...
- iOS开发Swift篇—(八)函数(2)
iOS开发Swift篇—(八)函数(2) 一.函数类型 函数类型也是数据类型的一种,它由形参类型和返回值类型组成,格式是 (形参类型列表) -> 返回值类型 func sum(num1: Int ...
随机推荐
- Centos中查询目录中内容命名ls
首先解释下这块, root代表当前登录用户,localhost代表主机名, ~代表当前主机目录, #代表用户权限 #表示超级用户,$表示普通用户: 查询目录中内容命令 ls (list缩写) ...
- ubuntu14.04 使用传统的netcat
Ubuntu上默认安装的是netcat-openbsd,而不是经典的netcat-traditional. 网上例子很多都是以netcat-traditional为例. sudo apt-get -y ...
- 选择性卸载eclipse安装过的工具
我们有时候需要卸载eclipse中之前安装的一些工具,而不想全部删除,那就可以采取下面的方式: 打开eclipse,Help->About Eclipse->Installation De ...
- spring-boot分环境打包为jar包
1.pom配置 <!-- 多环境打包 start --> <profiles> <!-- 开发环境配置 --> <profile> <id> ...
- 关键字final和override
final关键字 限制某个类或结构体不能被继承 直接对类声明: class A final{}; class B : public A {}; 或这类内有final函数,类可以被继承,但是final函 ...
- BZOJ 1861: [Zjoi2006]Book 书架 (splay)
1861: [Zjoi2006]Book 书架 Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 1453 Solved: 822[Submit][Stat ...
- hadoop出现error包问题记录
前段时间,我公司发现大部分hadoop服务器有重传数据包和error包现象,且重传率经常超过1%.zabbix告警hadoop主机有error包出现.收到大量类似如下告警信息: Trigger: et ...
- php输出多余的空格或者空行
1,文件是否有bom.可以通过脚步检测,或者利用notepa++打开,查看编码格式. 2. <?php echo 'something'; ?> 或许是你的php标签外,有空格或者空行 ...
- 9-4 Unidirectional TSP uva116 (DP)
题意:给一个n行m列矩阵 从第一列任意一个位置出发 每次往右 右上 右下三个方向走一格 直到最后一列 输出所类和的最小值和路径!! 最小值相同则输出字典序最小路径 很像一开始介绍的三角形dp ...
- 评分卡模型中的IV和WOE详解
1.IV的用途 IV的全称是Information Value,中文意思是信息价值,或者信息量. 我们在用逻辑回归.决策树等模型方法构建分类模型时,经常需要对自变量进行筛选.比如我们有200个候选 ...