Oracle記錄類型(record)使用


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;

注意:

  1. 一個PL/SQL RECORD必須包含一個或多個字段:這些字段的數據類型可以是標量類型、RECORD類型或PL/SQL表類型。
  2. 一般在PL/SQL塊中從表中取出一行進行處理時用PL/SQL RECORD。
  3. SELECT語句查詢的列值的數量與順序,必須與創建記錄類型變量中定義的字段數量和順序相匹配。
  4. 一個記錄類型的變量僅僅能保存從數據庫中查詢出的一行記錄,若查詢出了多行記錄。就會出現錯誤。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM