pl/sql三種特殊數據類型

    pl/sql除了可以使用Orecle規定的基本類型外,還提供了3種特殊的數據類型%type類型、record類型和%rowtype類型。

   【%type類型】

   使用%type可以聲明一個與指定列名稱相同的數據類型,例如 :v_id emp.id%type 是聲名一個和emp表中id字段相同類型的變量。

   使用%type定義變量有兩點好處:第一,定義變量時不必查看錶中各個列的數據類型;第二,如果表中列數據類型進行了修改,使用%type定義的變量會自動進行調整。

  【 record類型】

   也稱記錄類型,使用record的變量可以存儲多個列值組成的一行數據。使用方式如下:

declare

   type emp_type is record(           ---------------------聲明record類型emp_type

       v_id emp.id%type;

       v_name emp.name%type;

   )

   empInfo emp_type;                    -------------------聲明emp_type類型的變量empInfo

   begin

       select id name into empInfo from emp where id=1;

       /*

           查詢emp表中id爲1的記錄賦給empInfo

       */

       dbms_output.put_line(empInfo.v_id||'==========>'||empInfo.v_name);

   end;

  【    】

   %rowtype類型的變量結合了%type類型和record類型的優點,可以根據表中行的結構定義數據類型,用來存儲一條記錄。例如:

   declare

       empInfo emp%rowtype;

        begin

               select * into empInfo from emp where id=1;

                dbms_output.put_line(empInfo.id||'========>'||emp.name);


        end;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章