Hitachi

ノンストップデータベース HiRDB Version 10 UAP開発ガイド


付録D.3 型名記述領域の展開

型名記述領域は,UAP内で宣言することで静的なエリアとして確保します。

〈この項の構成〉

(1) C言語の場合

C言語の場合のソースプログラム中に展開する型名記述領域の形式を次に示します。

  struct {
      short         sqltz;               /*  配列の有効数              */
      struct {
          struct {
              short     sqlschemal;      /*  認可識別子の有効長        */
              char      sqlschemac[8 ];  /*  認可識別子格納エリア      */
          } sqlschema;
          struct {
              short     sqltypel;        /*  ユーザ定義型名の有効長    */
              char      sqltypec[30];    /*  ユーザ定義型名格納エリア  */
          } sqltype;
      } sqltnvar[n];※1
  } Usrsqltnda;※2
注※1

nは,SQL記述領域のSQLVARの配列の大きさと同じ個数(1〜30000)を指定します。

注※2

構造体名称(’Usrsqltnda’の部分)は,任意の文字列を指定してください。なお,構造体名称に’SQL’で始まる文字列は指定できません。また,DESCRIBE文で型名記述領域を指定する場合,確保した領域の名称を指定します。

(2) COBOL言語の場合

COBOL言語の場合のソースプログラム中に展開する型名記述領域の形式を次に示します。

  01  USQLTNDA. ※1
    02  USQLTZ  PIC  S9(4) COMP.
    02  USQLTNVAR  OCCURS  1  TIMES  n. ※2
      03  USQLSCHEMA.
        04  USQLSCHEMAL  PIC  S9(4)  COMP.
        04  USQLSCHEMAC  PIC  X(8).
      03  USQLTYPE.
        04  USQLTYPEL  PIC  S9(4)  COMP.
        04  USQLTYPEC  PIC  X(30).
注※1

集合項目の名称(’USQLTNDA’の部分)は,任意の名称を指定してください。なお,データ項目に’SQL’で始まる文字列は指定できません。

注※2

nはSQL記述領域のSQLVARの配列の大きさと同じ個数(1〜30000)を指定します。