字段引用

可使用字段名称来引用行类型的字段,此字段名称由变量(返回包含具有该字段名称的字段的行类型)或数组元素规范(包含具有该字段名称的字段的行类型)限定。

field-reference
Read syntax diagramSkip visual syntax diagram row-variable-namerow-array-element-specification .field-name
row-variable-name
数据类型为行类型的变量的名称。
row-array-element-specification
array-element-specification,其中数组元素的数据类型为行类型。
field-name
行类型中的字段的名称。

示例

  1. 要引用简单行类型的字段:
    CREATE OR REPLACE  TYPE REC_TYPE AS ROW
    (
       ID INTEGER,
       NAME VARCHAR(10)
    )@
    
    BEGIN
         DECLARE NAME VARCHAR(10);
         DECLARE TMPREC REC_TYPE;
         SET NAME = TMPREC.NAME;
    END @
  2. 要引用嵌套行类型的字段,必须将内部行分配给临时变量,然后才能引用此内部行的字段:
    CREATE OR REPLACE TYPE INNER_REC_TYPE AS ROW
    (
      ID INTEGER,
      NAME VARCHAR(10)
    )@
    CREATE OR REPLACE  TYPE REC_TYPE AS ROW
    (
      INNER_REC INNER_REC_TYPE
    )@
    CREATE OR REPLACE TYPE ARRAY_TYPE AS REC_TYPE ARRAY[INTEGER]@
    
    BEGIN
      DECLARE TMPRECORD INNER_REC_TYPE;
      DECLARE TMPARRAY ARRAY_TYPE;
      DECLARE NAME VARCHAR(10);
     
      SET TMPRECORD = TMPARRAY[1].INNER_REC;
      SET NAME = TMPRECORD.NAME;
      END @