在 PL/SQL 中,VARRAY(可變大小數組)是一種可以儲存固定數量元素的集合類型。 VARRAY 中的每個元素都是按順序儲存的,並且所有元素的資料類型相同。
VARRAY 的特徵:
固定最大大小:定義 VARRAY 時,指定它可以容納的最大元素數。您不能超過此限制。
順序:VARRAY 中的元素以特定順序儲存和訪問,從索引 1 開始。
同質:VARRAY 中的所有元素必須具有相同的資料型態。
密集索引:VARRAY 總是密集填充的。這意味著索引之間沒有間隙。
儲存在 Oracle 資料庫中:在資料庫列中使用時,VARRAY 與表格行資料內聯儲存。
PL/SQL 中 VARRAY 的語法
先定義一個 VARRAY 類型,指定它可以容納的元素數量以及元素的資料類型。
TYPE varray_name IS VARRAY(max_size) OF element_type;
varray_name:VARRAY 類型的名稱。
max_size:VARRAY 中可以儲存的最大元素數。
element_type:VARRAY 中儲存的元素的資料類型。
宣告 VARRAY 類型後,您可以宣告該類型的變數並用值初始化它們。
聲明
類型 employee_varray IS VARRAY(5) OF VARCHAR2(30); -- VARRAY 類型聲明,最大尺寸為 5
僱員名稱 僱員變數 := 僱員變數('約翰', '簡'); -- 用 2 個元素初始化
開始
-- 使用 VARRAY
的語句
結束;
VARRAY 上的操作:
以下是您可以在 VARRAY 上執行的一些常見操作:
EXTEND(n):將 n 個元素加入 VARRAY 的末尾。
COUNT:傳回 VARRAY 中目前元素的數量。
TRIM(n):從 VARRAY 末尾刪除 n 個元素。
FIRST 和 LAST:傳回 VARRAY 中的第一個和最後一個索引。
範例:宣告和使用 VARRAY
聲明
-- 宣告一個 VARRAY 類型,最多可以容納 5 個 VARCHAR2(50) 元素
類型employee_varray IS VARRAY(5) OF VARCHAR2(50);
-- Declare a variable of this VARRAY type and initialize it with two values employee_names employee_varray := employee_varray('John', 'Jane');
開始
-- 增加更多元素到 VARRAY
員工姓名.EXTEND(3); -- 將陣列再擴充 3 個元素
員工姓名(3) := '山姆';
員工姓名(4) := '彼得';
員工姓名(5) := '露西';
-- Print all the names in the VARRAY FOR i IN 1..employee_names.COUNT LOOP DBMS_OUTPUT.PUT_LINE('Employee ' || i || ': ' || employee_names(i)); END LOOP; -- Trim 1 element from the end of the VARRAY employee_names.TRIM(1); DBMS_OUTPUT.PUT_LINE('After trimming 1 element:'); -- Print remaining names in the VARRAY FOR i IN 1..employee_names.COUNT LOOP DBMS_OUTPUT.PUT_LINE('Employee ' || i || ': ' || employee_names(i)); END LOOP;
結束;
/
說明:
VARRAY 類型宣告:我們宣告一個 VARRAY 類型employee_varray,最多可以容納 5 個 VARCHAR2(50) 類型的元素。
初始化:我們用兩個名字初始化employee_names變數:「John」和「Jane」。
EXTEND:我們使用 EXTEND(3) 方法擴展 VARRAY 以容納另外 3 個元素,從而為總共 5 個元素騰出空間。
存取元素:我們為新位置(3 到 5)分配值並使用循環列印所有元素。
TRIM:TRIM(1) 方法用於從 VARRAY 中刪除最後一個元素,將元素數量從 5 個減少到 4 個。
輸出:
員工 1:約翰
員工 2:簡
員工 3:Sam
員工 4:彼得
員工 5:露西
修剪 1 個元素後:
員工 1:約翰
員工 2:簡
員工 3:Sam
員工 4:彼得
重點:
當您事先知道集合的最大大小時,VARRAY 非常有用。
順序存取:使用索引存取 VARRAY 中的元素。
擴充和修剪:您可以使用 EXTEND 和 TRIM 動態新增或刪除 VARRAY 中的元素。
以上是VARRAY(可變大小數組)- PLSQL 中的集合的詳細內容。更多資訊請關注PHP中文網其他相關文章!