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 ...
随机推荐
- gc overhead limit exceeded内存问题
gc overhead limit exceeded 当出现这种问题的时候一般有两种思路 一.修改idea或者eclipse中的配置文件,将内存调到1024即可 二.在代码中通过system.gc 手 ...
- Redis相关链接
Redis 教程 http://www.runoob.com/redis/redis-data-types.html Python操作redis学习系列之(集合)set,redis set详解 (六) ...
- gitlab备份与还原
1.备份 登录原服务器,执行命令: gitlab-rake gitlab:backup:create 备份后文件在如下目录,下载该文件 /var/opt/gitlab/backups 2.还原 先安装 ...
- oralce 笔记
查某一表的行数 select max(rownum) from tablename 插入数据之前判断是否重复 insert into tablename (coloum1,coloum2) selec ...
- Effective STL 学习笔记 39 ~ 41
Effective STL 学习笔记 39 ~ 41 */--> div.org-src-container { font-size: 85%; font-family: monospace; ...
- 实际工作与JAVA面试题
1.String 和StringBuilder.StringBuffer 的区别? 答:Java 平台提供了两种类型的字符串:String和StringBuffer / StringBuilder,它 ...
- 20155225 2016-2017-2 《Java程序设计》第六周学习总结
20155225 2016-2017-2 <Java程序设计>第六周学习总结 教材学习内容总结 java的输入输出系统 在重新指定标准输入输出时不同: 重新指定标准输入为文档输入时,是这样 ...
- Android 客户端 okhttp3 与服务器之间的双向验证
[原文]https://blog.csdn.net/leng_wen_rou/article/details/58596142 本篇是Android 客户端基于okhttp3的网络框架 和后台服务器之 ...
- 使用scss + react + webpack + es6实现幻灯片
写在前面: 刚学习完慕课网里的一个幻灯片案例,自己加了刚学的react,两者结合.首先让大家看看效果 点击此处 你可以先用纯js实现上面的效果:我的github上的 JS代码 或者 观看慕课提供的课程 ...
- 跟我一起学WPF(1):WPF的UI设计语言——XAML
XAML是什么 XAML全称是Extensible Application Markup Language (可扩展应用程序标记语言),是专门用于WPF技术中的UI设计语言. XAML基础 XAML是 ...