oracle學習之路(二)------數群組類型/記錄類型的使用,oracle------

來源:互聯網
上載者:User

oracle學習之路(二)------數群組類型/記錄類型的使用,oracle------
Oracle記錄類型介紹

RECORD:使用者自訂資料類型,由單行多列的標量構成的複合資料型別,它將一個或多個標量封裝成一個對象進行操作記錄不可以總體拿來比較也不可以整體判斷為空白,可以整體拿來賦值,組成類似於多維陣列,
將一個或多個標量封裝成一個對象進行操作。是一種臨時綜合物件類型。

記錄的建立和賦值
  • 定義記錄類型文法如下:
TYPE record_name IS RECORD(   v1 data_type1  [NOT NULL]  [:= default_value ],   v2 data_type2  [NOT NULL]  [:= default_value ],   ......   vn data_typen  [NOT NULL]  [:= default_value ] );
  • 一個記錄類型的例子
 declare  TYPE T_Employee_rec is RECORD --定義記錄的類型(c_FNumber T_Employee.FNumber%TYPE, --使用%TYPE擷取此列的資料類型c_FName VARCHAR(20),c_FAge int,c_FSalary NUMERIC(10,2));T_Employee_rec1  T_Employee_rec;--聲明記錄類型變數begin        ---給記錄類型變數賦值 select FNumber,FName,FAge,FSalary into T_Employee_rec1 from T_Employee where FNumber='SALES002'; dbms_output.put_line('FNumber='||T_Employee_rec1.c_FNumber); dbms_output.put_line('FName='||T_Employee_rec1.c_FName); dbms_output.put_line('FAge='|| to_char(T_Employee_rec1.c_FAge)); dbms_output.put_line('FSalary='||to_char(T_Employee_rec1.c_FSalary));end;

注意:一個記錄類型的變數只能儲存從資料庫中查詢出的一行記錄,若查詢出了多行記錄,就會出現錯誤。

oracle數群組類型簡介

資料是具有相同資料類型的一群組成員的集合。每個成員都有一個唯一的下標,它取決於成員在數組中的位置。在PL/SQL中,數組資料類型是VARRAY。

  • 定義VARRY資料類型文法如下
TYPE varray_name IS VARRAY(size) OF element_type [NOT NULL];

varray_name是VARRAY資料類型的名稱,size是下整數,表示可容納的成員的最大數量,每個成員的資料類型是element_type。預設成員可以取空值,否則需要使用NOT NULL加以限制。對於VARRAY資料類型來說,必須經過三個步驟,分別是:定義、聲明、初始化

  • 數群組類型的小例子
 -- Created on 2015/6/11 by LYH declare--定義一個最多儲存5個VARCHAR(25)資料類型成員的VARRAY資料類型TYPE reg_varray_type IS VARRAY(5) of varchar(25);--聲明一個該VARRAY資料類型的變數v_reg_varray reg_varray_type;begin  --用建構函式文法賦予初值  v_reg_varray :=reg_varray_type ('中國', '美國', '英國', '日本', '法國');  Dbms_Output.put_line('地區名稱:'||v_reg_varray(2)||','||v_reg_varray(3)||','||v_reg_varray(4));  Dbms_Output.put_line('賦值為null的第5個成員的值:'||v_reg_varray(5));  v_reg_varray(5) :='俄羅斯';  Dbms_Output.put_line('賦值為null的第5個成員的值:'||v_reg_varray(5));end;

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.