Oracle 自定義數據類型Type


Oracle 自定義類型的種類

記錄數據類型(Record)和記錄表類型(Table),其中記錄數據類型Record存儲是一條記錄,記錄表類型Table用來存儲多條記錄。如果記錄數據類型Record是一維數組的話,記錄表類型Table就是二維數組。

自定義類型有兩種寫法:TYPE……IS和CREATE TYPE ……,兩者區別在於:前者一般在存儲過程和函數中定義,其作用域是所在過程或函數,而后者聲明對象類型,對象類型則是作為一個數據庫對象(像表、索引、視圖、觸發器一樣,是一個數據庫對象),可以過程或函數中使用,還可以在定義表時,作為字段的類型。

一、TYPE type_name IS RECORD 定義記錄數據類型
定義語法:

TYPE type_name IS RECORD (
              字段名1     數據庫變量類型1,
              字段名2     數據庫變量類型2,
              ...
              字段名n     數據庫變量類型n
      );
      其中type_name:自定義類型的名稱

應用例子

DECLARE 
  TYPE type_Employee IS RECORD(
          name VARCHAR2(100),
          age  NUMBER(3),
          wage NUMBER(7,2)
  );

  v_employs type_Employee;
  v_name VARCHAR2(100);
  v_age  NUMBER(3);
  v_wage NUMBER(7,2);
  i integer;
BEGIN
  select name, age, wage into v_employs from Employees where EmployeesId = '750adfd0-f8cd-4a64-a2f8-736f8802ec87';
  v_name := v_employs.name;
  v_age := v_employs.age;
  v_wage := v_employs.wage;
  dbms_output.put_line(v_name);
  dbms_output.put_line(v_wage);
  dbms_output.put_line(v_age);
END;

 


免責聲明!

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



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