RECORD——存儲單行多列結構的數據.
- RECORD:用戶自己定義數據類型,由單行多列的標量構成的復合數據類型。它將一個或多個標量封裝成一個對象進行操作記錄不能夠總體拿來比較也不能夠總體推斷為空。能夠總體拿來賦值。組成相似於多維數組。
- 將一個或多個標量封裝成一個對象進行操作。是一種暫時復合對象類型。使用記錄類型變量時必須先定義記錄的結構,然后再定義記錄類型的變量。
TYPE語句定義記錄類型的語法形式:
TYPE 記錄名 IS RECORD (field1_name data_type [not null] [:=|default value], … fieldn_name data_type [not null] [:=|default value]);
【實例】定義一個記錄類型rec_product,並使用該記錄變量存儲產品編號為1的產品的編號、名稱、單價、單位數量
DECLARE TYPE rec_product IS RECORD (Prod_ID number, Prod_Name nvarchar2(40), Quant_PerUnit nvarchar2(20), Unit_Price number(38,3) ); r_prod rec_product; BEGIN SELECT productid, productname, quantityperunit,unitprice INTO r_prod FROM products WHERE productid=1; Dbms_output.put_line(r_prod. Prod_ID); Dbms_output.put_line(r_prod. Prod_Name); Dbms_output.put_line(r_prod. Quant_PerUnit); Dbms_output.put_line(r_prod. Unit_Price); END;
注意:
- 一個PL/SQL RECORD必須包含一個或多個字段:這些字段的數據類型可以是標量類型、RECORD類型或PL/SQL表類型。
- 一般在PL/SQL塊中從表中取出一行進行處理時用PL/SQL RECORD。
- SELECT語句查詢的列值的數量與順序,必須與創建記錄類型變量中定義的字段數量和順序相匹配。
- 一個記錄類型的變量僅僅能保存從數據庫中查詢出的一行記錄,若查詢出了多行記錄。就會出現錯誤。