oracle 集合_oracle


EXISTS


该函数返回

集合中第一个元素的索引,如果集合为空,返回NULLNULLNULL


Collection.EXISTS(index)


COUNT


该函数集合

元素的数目


Collection.COUNT


DELETE


该过程从嵌套表中删除一个或多个或合部元素


Table_name.DELETE 删除所有元素

Table_name.delete(index)删除指定索引的记录

Table_name.delete(start_index,end_index)删除区间内元素


FIRST


返回集合第一个元素索引,如果集合为空,返回NULL


Collection.FIRST


LAST


返回集合中最后一个元素索引,如果集合为空,返回NULL


Collection. LAST


NEXT


返回集合当前元素的下一个元素的索引,如果它不存在就返回NULL


Collection. NEXT


PRIOR


返回集合当前元素的上一个元素的索引,如果它不存在就返回NULL


Collection. PRIOR


LIMIT


返回varray中创建元素的最大个数


Collection. LIMIT


EXTENDS


该过程在集合的末尾添加新的元素


Collection.EXTEND添加一个NULL元素;Collection.extends(n)添加N个NULL元素,Collection.extend(n,index)添加由index指定位置上元素的n个副表


TRIM


从集合末尾处删除元素


Collection.TRIM 删除最后一个元素

Collection.TRIM(n)删除最后N个元素

数据加中的集合
与index-by表不同,varray和嵌套表可以作为对象-关系表中的珍存储在数据库中。它们也可以作为对象关系表中的列使用。为了表示出作为数据库列的数据类型,集合类型必须是在pl/sql和 sql中可见。这需要使用create or replace type 语句定义而不能仅在pl/sql块中进行局部定义。语法如下:
create of replace type table_name is table of data_type

------from to me

I.表类型

--索引组织表,存放在内存中的表.
  DECLARE
    TYPE t_indexTable IS TABLE OF emp%ROWTYPE NOT NULL INDEX BY BINARY_INTEGER;
    v_indexTable t_indexTable;
    CURSOR v_cur IS
      SELECT * FROM emp;
  BEGIN
    FOR c IN v_cur LOOP
      v_indexTable(c.empno):=c;
      IF v_indexTable.EXISTS(c.empno) THEN
        DBMS_OUTPUT.PUT_LINE('v_indexTable('||c.empno||').empno=' || c.empno
                         ||';v_indexTable('||c.empno||').ename='||c.ename);
      ELSE
        DBMS_OUTPUT.PUT_LINE('v_indexTable('||c.empno||'):不存在');
      END IF;
    END LOOP;
  END;

注:INDEX BY BINARY_INTEGER表示索引表,否则为嵌套表.表类型的下标不一定是连续的,所以可以删除某个下标值,数组类型不行.

时间: 2024-07-28 17:56:34

oracle 集合_oracle的相关文章

常见数据库系统比较 Oracle数据库_oracle

正在看的ORACLE教程是:常见数据库系统比较 Oracle数据库. 提起数据库,第一个想到的公司,一般都会是Oracle.该公司成立于1977年,最初是一家专门开发数据库的公司.Oracle在数据库领域一直处于领先地位.1984年,首先将关系数据库转到了桌面计算机上.然后,Oracle的下一个版本,版本5,率先推出了分布式数据库.客户/服务器结构等崭新的概念.Oracle的版本6首创行锁定模式以及对称多处理计算机的支持--最新的Oracle8主要增加了对象技术,成为关系-对象数据库系统.目前,

[Oracle] 彻底搞懂Oracle字符集_oracle

基本概念字符集(Character set):是一个系统支持的所有抽象字符的集合.字符是各种文字和符号的总称,包括各国家文字.标点符号.图形符号.数字等.常见的字符集有ASCII,ZHS16GB231280,ZHS16GBK等.字符编码(Character Encoding):是一套法则,使用该法则能够对自然语言的字符的一个集合(如字母表或音节表),与其它的一个集合(如电脑编码)进行配对.即在符号集合与数字系统之间建立对应关系.与字符集相对应,常见的字符编码有:ASCii,ZHS16GBK,ZH

oracle 函数_oracle

正在看的ORACLE教程是:oracle 函数.PL/SQL单行函数和组函数详解 函数是一种有零个或多个参数并且有一个返回值的程序.在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类:  单行函数  组函数  本文将讨论如何利用单行函数以及使用规则. SQL中的单行函数 SQL和PL/SQL中自带很多类型的函数,有字符.数字.日期.转换.和混合型等多种函数用于处理单行数据,因此这些都可被统称为单行函数.这些函数均可用于SELECT,WHERE.

Windows下编写批处理脚本来启动和重置Oracle数据库_oracle

cmd启动Oracle数据库新建一个bat文件,复制内容进去,双击即可启动. @echo off net start OracleXETNSListener 2>nul net start OracleServiceXE 2>nul @oradim -startup -sid XE -starttype inst > nul 2>&1 Oracle重置数据库命令新建bat文件,复制以下内容,然后执行. @echo off REM REM The script assumes

PL/SQL远程备份和恢复Oracle数据库_oracle

在客户端远程备份的文件保存在数据库所在主机上,不会直接拷贝到客户端.------------------------------------------  首先无论你的Oracle服务器是Linux还是windows操作系统,Oracle的备份和恢复操作都是使用DBMS_DUMP来实现导入(备份)和导出(恢复).首先你要安装好PL/SQL,用PL/SQL来执行我下面提供的JOB就可以实现了.  一.Oracle的导出(备份) 1.用PLSQL连接Oracle数据库服务器,使用你需要导出的用户连接

深入sql oracle递归查询_oracle

☆ 获取数据库所有表名,表的所有列名   select name from sysobjects where xtype='u'   select name from syscolumns where id=(select max(id) from sysobjects where xtype='u' and name='表名') ☆ 递归查询数据Sql语句里的递归查询 SqlServer2005和Oracle 两个版本以前使用Oracle,觉得它的递归查询很好用,就研究了一下SqlServer

自动备份Oracle数据库_oracle

正在看的ORACLE教程是:自动备份Oracle数据库.相信为数不少的系统管理员每天都在做着同一样的工作--对数据进行备份.一旦哪一天疏忽了,而这一天系统又恰恰发生了故障,需要进行数据恢复,那么此时就无能为力了.假如每天设定一个固定的时间,系统自动进行备份,那该多好啊!下面笔者结合实践经验,谈一谈UNIX环境下Oracle数据库的自动备份,以起到抛砖引玉的作用.  我们计划让数据库在晚上23点做export导出备份,在凌晨2点将备份文件拷贝到磁带上,在凌晨4点将备份文件拷贝到另一台UNIX机器上

在Tomcat服务器下使用连接池连接Oracle数据库_oracle

下面介绍在Tomcat服务器下使用连接池来连接数据库的操作 一:修改web.xml文件: 复制代码 代码如下: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:

如何查询占CPU高的oracle进程_oracle

oracle占用cpu过高怎么处理,本文将介绍有关oracle进程CPU占用率过高的问题,需要了解跟多的朋友可以参考下1:首先使用TOP命令传到占用CPU高的SPID号 PID USERNAME THR PRI NICE SIZE RES STATE TIME CPU COMMAND 3575 oracle 1 12 0 0K 0K run 748.6H 24.98% oracle 3571 oracle 1 22 0 0K 0K sleep 706.2H 22.84% oracle 2:使用D