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 ...
随机推荐
- restful API 规范(转)
1. URI URI 表示资源,资源一般对应服务器端领域模型中的实体类. URI规范 不用大写: 用中杠-不用下杠_: 参数列表要encode: URI中的名词表示资源集合,使用复数形式. 资源集合 ...
- WebApi Owin SelfHost OAuth2 - 授权服务和资源服务分离方案
使用JWT 参考:http://www.cnblogs.com/grissom007/p/6294746.html
- Python爬虫学习1: Requests模块的使用
Requests函数库是学习Python爬虫必备之一, 能够帮助我们方便地爬取. Requests: 让HTTP服务人类. 本文主要参考了其官方文档. Requests具有完备的中英文文档, 能完全满 ...
- windows下同时安装python2和python3
之前学习的时候使用2.7比较多. 想练习3.7的时候,两个版本兼容的问题,苦恼了几天. 查了一下资料,发现了一个很好的方法.记录一下,也做一个分享. 本篇内容主要讲一下,在同一台电脑上如何同时安装Py ...
- (五)动态SQL
第一节:if条件 第二节:choose,when和otherwise条件 第三节:where条件 1.自动加上where: 2.如果where子句以and或者or开头,则自动删除第一个and或者or: ...
- 配置sql server 2000以允许远程访问
配置sql server 2000以允许远程访问适合故障:1. 用sql企业管理器能访问sql server 2000(因为它是采用命名管道(named pipes)方式进行方式),但用ado.net ...
- NOIP2015&2016普及组解题报告
NOIP2015普及组题目下载 NOIP2016普及组题目下载 NOIP2015普及组题目: NOIP2018RP++ NOIP2016普及组题目 NOIP2018RP++ T1 金币\((coin. ...
- appium+python 【Mac】Android夜神模拟器
1.官网下载地址:https://www.yeshen.com/ 2.具体的夜神模拟器的介绍请自查 3.下载安装后夜神模拟器后,打开模拟器,进行相应的配置如下: 4. (1).找到android-sd ...
- NSPredicate用法总结(Cocoa框架中的NSPredicate用于查询,原理和用法都类似于SQL中的where,作用相当于数据库的过滤取)
简述:Cocoa框架中的NSPredicate用于查询,原理和用法都类似于SQL中的where,作用相当于数据库的过滤取. 定义(最常用到的方法): NSPredicate *ca = [NSPred ...
- Smart Pointer 智能指针
P76 参考:http://www.cnblogs.com/lanxuezaipiao/p/4132096.html http://blog.csdn.net/hackbuteer1/article/ ...