Oracle記錄類型(record)和%rowtype

Oracle中的記錄類型(record)和使用%rowtype定義的數據類型都是一種單行多列的數據結構,能夠理解爲一個具備多個屬性的對象。其中屬性名即爲列名。數據結構

 

記錄類型(record)spa

   記錄類型是一種由單行多列的標量構成的複合結構,將一個或多個標量封裝成一個對象,能夠看作是一種用戶自定義數據類型。對象

    用法:變量

    1.聲明記錄名date

    type 記錄名 is record(file

      filed1 type1[not null][:=expr1]select

      [,filed2 type2[not null][:=expr2,.....]數據類型

    );語法

    not null表示不能爲空。方法

    2.聲明記錄類型的變量

      變量名 記錄名;

    3.向變量中插入數據

      有不少方法都能插入數據,能夠直接變量名.filed1 := 值;也能夠使用select...into....語句(Oracle的select...into....只能對單行數據進行操做)。

      例:select 列名1,列名2 into 變量名 from 表名 where 條件。

    4.訪問記錄成員

      變量名.filed。

 

  記錄類型的運算:

    1.記錄賦值,同一記錄類型的變量可直接賦值。

      變量1 := 變量2;

    2.記錄比較,記錄不能夠總體比較,只能比較記錄的字段。

    3.記錄不能夠總體判斷爲空,只能判斷記錄字段。

 

%rowtype

  定義一個表示表中一行數據的變量。該變量的列名、數據類型都與數據表相同。

  存取數方式爲:變量名.列名;

  用法:

    1.聲明變量

      變量名 表名%rowtype;

    2.賦值

      a.每列單獨賦值:變量名.列名:= 值;

      b.select...into...語句賦值:select * into 變量名 from 表名;

    3.取值

      變量名.列名。

 

使用記錄類型和%rowtype向表中更新數據

  更新單行記錄可以使用記錄類型和%rowtype,使用這種方式的前提是記錄類型或%rowtype中的列和表中的列徹底匹配。直接使用關鍵字row和記錄類型或%rowtype類型的變量。

  語法:

    update 表名 set row = 變量名 where 條件;

相關文章
相關標籤/搜索