pl/sql集合型別_varray(二)
-------------------------------------------------------------------------------------
變長陣列 varray
它是一種用於處理PL/SQL陣列的資料型別,它也可以使用表列的資料型別使用
它的元素下標以1開始,並且最大元素個數是有限制
定義VARRAY的語法如下:
--not null表示不能引用空元素
TYPE TYPE_NAME IS VARRAY(SIZE_LIMIT) OF ELEMENT_TYPE [NOT NULL]; --SIZE_LIMIE表示VARRAY的元素個數
IDENTIFIER TYPE_NAME;
在使用VARRAY時,必須要使用構造方法初始化VARRAY元素,示例如下;
DECLARE
TYPE ENAME_TABLE_TYPE IS VARRAY(20) OF EMP.ENAME%TYPE;
ENAME_TABLE ENAME_TABLE_TYPE:=ENAME_TABLE_TYPE('A','B');
下面興例說明使用VARRAY的方法:
示例一:在PL/SQL塊中使用VARRAY
DECLARE
TYPE ENAME_TABLE_TYPE IS VARRAY(20) OF EMP.ENAME%TYPE;
ENAME_TABLE ENAME_TABLE_TYPE:=ENAME_TABLE_TYPE('MARY');
BEGIN
SELECT ENAME INTO ENAME_TABLE(1) FROM EMP WHERE EMPNO=&NO;
DBMS_OUTPUT.PUT_LINE('EMPLOYEE:'||ENAME_TABLE(1));
END;
/
示例二:在表列中使用VARRAY
在表列中使用VARRAY,必須使用CREATE TYPE建立VARRAY型別,在表列中使用它的示例如下:
create type phone_type is varray(10) of varchar2(10);
/
create table employee(
id number,
name varchar2(10),
phone phone_type);
/
變長陣列 varray
它是一種用於處理PL/SQL陣列的資料型別,它也可以使用表列的資料型別使用
它的元素下標以1開始,並且最大元素個數是有限制
定義VARRAY的語法如下:
--not null表示不能引用空元素
TYPE TYPE_NAME IS VARRAY(SIZE_LIMIT) OF ELEMENT_TYPE [NOT NULL]; --SIZE_LIMIE表示VARRAY的元素個數
IDENTIFIER TYPE_NAME;
在使用VARRAY時,必須要使用構造方法初始化VARRAY元素,示例如下;
DECLARE
TYPE ENAME_TABLE_TYPE IS VARRAY(20) OF EMP.ENAME%TYPE;
ENAME_TABLE ENAME_TABLE_TYPE:=ENAME_TABLE_TYPE('A','B');
下面興例說明使用VARRAY的方法:
示例一:在PL/SQL塊中使用VARRAY
DECLARE
TYPE ENAME_TABLE_TYPE IS VARRAY(20) OF EMP.ENAME%TYPE;
ENAME_TABLE ENAME_TABLE_TYPE:=ENAME_TABLE_TYPE('MARY');
BEGIN
SELECT ENAME INTO ENAME_TABLE(1) FROM EMP WHERE EMPNO=&NO;
DBMS_OUTPUT.PUT_LINE('EMPLOYEE:'||ENAME_TABLE(1));
END;
/
示例二:在表列中使用VARRAY
在表列中使用VARRAY,必須使用CREATE TYPE建立VARRAY型別,在表列中使用它的示例如下:
create type phone_type is varray(10) of varchar2(10);
/
create table employee(
id number,
name varchar2(10),
phone phone_type);
/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-708201/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- pl/sql集合型別(一)SQL型別
- PLSQL Language Referenc-PL/SQL集合和記錄-集合型別SQL型別
- Pl/SQL 自定義型別SQL型別
- pl/sql記錄型別SQL型別
- PLSQL Language Reference-PL/SQL資料型別-SQL資料型別-使用者定義的PL/SQL子型別SQL資料型別
- 在PL/SQL中使用日期型別SQL型別
- PL/SQL複合資料型別SQL資料型別
- PL/SQL中char型別的暗門SQL型別
- PLSQL Language Reference-PL/SQL資料型別-SQL資料型別-有限制的子型別SQL資料型別
- PLSQL Language Reference-PL/SQL資料型別-SQL資料型別-不同的最值大小SQL資料型別
- PLSQL Language Reference-PL/SQL資料型別-SQL資料型別-LONG和LONG RAW變數SQL資料型別變數
- PL/SQL 中如何正確選擇遊標型別SQL型別
- Guava集合--新集合型別Guava型別
- [PL/SQL]10g PL/SQL學習筆記(二)SQL筆記
- 6.4. PL/SQL語法——6.4.7. 集合SQL
- PLSQL Language Reference-PL/SQL資料型別-SQL資料型別-ROWID和UROWID變數SQL資料型別變數
- PLSQL Language Reference-PL/SQL資料型別-SQL資料型別-CHAR和VARCHAR2變數SQL資料型別變數
- PL/SQL基本結構---PLSQL複合型別---表型別變數tableSQL型別變數
- PLSQL Language Referenc-PL/SQL集合和記錄-多維集合SQL
- List型別集合型別
- PL/SQL第一章--概述及變數型別SQL變數型別
- 全面探討PL/SQL的複合資料型別(轉)SQL資料型別
- PLSQL Language Referenc-PL/SQL集合和記錄-集合構造器SQL
- pl/sql %type和%rowtype區別SQL
- oracle pl/sql 迴圈比較集合元素是否相同OracleSQL
- Swift之集合型別 (Collection Types)(集合篇)Swift型別
- Redis的集合型別(Set)Redis型別
- Java集合型別詳解Java型別
- python 集合型別 setPython型別
- PLSQL Language Reference-PL/SQL子程式-PL/SQL函式結果快取(二)SQL函式快取
- PL/SQL Developer 6.0.4.906特別版SQLDeveloper
- 【PL/SQL】IEEE浮點型別BINARY_FLOAT和BINARY_DOUBLESQL型別
- 客戶編號分配中,PL/SQL型別自動轉換問題SQL型別
- Scala 中的集合(一):集合型別與操作型別
- PL/SQL第二章--基本語法SQL
- 基礎-JAVA集合型別主要區別Java型別
- PLSQL Language Referenc-PL/SQL集合和記錄-巢狀表SQL巢狀
- 【Redis實戰】有序集合型別Redis型別