程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

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表示索引表,否則為嵌套表.表類型的下標不一定是連續的,所以可以刪除某個下標值,數組類型不行.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved