OCIの型インタフェース関数

表22-2は、この項で説明している型インタフェース関数を示しています。

表22-2 型インタフェース関数

関数 用途

OCITypeAddAttr()

型コードOCI_TYPECODE_OBJECTを使用して以前作成したオブジェクト型に属性を追加します。

OCITypeBeginCreate()

一時的な型に対する構成プロセスを開始します。この型は無名(名前なし)です。

OCITypeEndCreate()

型の記述の構成を終了します。終了後は、アクセスのみ可能です。

OCITypeSetBuiltin()

組込みの型情報を設定します。このコールは、型が組込みの型コード(OCI_TYPECODE_NUMBERなど)を使用して構成されている場合のみ実行されます。

OCITypeSetCollection()

コレクション型情報を設定します。このコールは、型がコレクション型コードを使用して構成されている場合のみ実行されます。

OCITypeAddAttr()

型コードOCI_TYPECODE_OBJECTを使用して以前作成したオブジェクト型に属性を追加します。

用途

型コードOCI_TYPECODE_OBJECTを使用して以前作成したオブジェクト型に属性を追加します。

構文

sword OCITypeAddAttr ( OCISvcCtx   *svchp, 
                       OCIError    *errhp, 
                       OCIType     *type, 
                       const text  *a_name, 
                       ub4          a_length, 
                       OCIParam    *attr_info );

パラメータ

svchp (IN)

OCIサービス・コンテキストです。

errhp (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

type (IN/OUT)

構成される型の記述です。

a_name (IN) [オプション]

属性の名前を指定します。

a_length (IN) [オプション]

属性名の長さ(バイト単位)です。

attr_info (IN)

属性に関する情報です。この情報は、OCIParamパラメータ・ハンドルを割り当て、OCIAttrSet()コールを使用して型情報をOCIParamに設定して取得します。

関連トピック

OCITypeBeginCreate()

一時的な型に対する構成プロセスを開始します。この型は無名(名前なし)です。

用途

一時的な型に対する構成プロセスを開始します。この型は無名(名前なし)です。

構文

sword OCITypeBeginCreate ( OCISvcCtx     *svchp, 
                           OCIError      *errhp, 
                           OCITypeCode    tc, 
                           OCIDuration    dur, 
                           OCIType      **type );

パラメータ

svchp (IN)

OCIサービス・コンテキストです。

errhp (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

tc (IN)

型に対する型コードです。この型コードは、オブジェクト型または組込みの型に対応している場合があります。

現在、ユーザー定義型に対して可能な値は次のとおりです。

  • OCI_TYPECODE_OBJECT (構成済のオブジェクト型の場合)

  • OCI_TYPECODE_VARRAY (VARRAYコレクション型の場合)

  • OCI_TYPECODE_TABLE (NESTED TABLEコレクション型の場合)

オブジェクト型の場合は、OCITypeAddAttr()をコールして、各属性型を追加します。コレクション型の場合は、OCITypeSetCollection()をコールします。次に、OCITypeEndCreate()をコールして、作成プロセスを終了します。

組込みの型コードに対して可能な値は、「型コード」で指定されています。組込みの型に関する追加情報(精度、数値のスケール、VARCHAR2の文字セット情報など)がある場合は、後続のOCITypeSetBuiltin()コールで設定してください。最後に、OCITypeEndCreate()を使用して、作成プロセスを終了します。

dur (IN)

型に対する割当て時間です。次のいずれかです。

  • 以前に作成されたユーザー期間。これは、OCIDurationBegin()を使用して作成できます。

  • OCI_DURATION_SESSIONなどの事前定義の期間。

type (OUT)

構成されるOCIType (型の記述子)です。

コメント

永続的な名前付きの型を作成するには、SQL文CREATE TYPEを使用してください。一時的な型には識別情報がありません。これらは純粋な値です。

OCITypeEndCreate()

型の記述の構成を終了します。終了後は、アクセスのみ可能です。

用途

型の記述の構成を終了します。終了後は、アクセスのみ可能です。

構文

sword OCITypeEndCreate ( OCISvcCtx  *svchp, 
                         OCIError   *errhp, 
                         OCIType    *type );

パラメータ

svchp (IN)

OCIサービス・コンテキストです。

errhp (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

type (IN/OUT)

構成される型の記述です。

関連トピック

OCITypeSetBuiltin()

組込みの型情報を設定します。

用途

このコールは、型が組込みの型コード(OCI_TYPECODE_NUMBERなど)を使用して構成されている場合のみ実行されます。

構文

sword OCITypeSetBuiltin ( OCISvcCtx   *svchp, 
                          OCIError    *errhp, 
                          OCIType     *type, 
                          OCIParam    *builtin_info );

パラメータ

svchp (IN)

OCIサービス・コンテキストです。

errhp (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

type (IN/OUT)

構成される型の記述です。

builtin_info (IN)

組込みの型に関する情報(精度、スケール、文字セットなど)を提供します。この情報は、OCIParamパラメータ・ハンドルを割り当て、OCIAttrSet()コールを使用して型情報をOCIParamに設定して取得します。

関連トピック

OCITypeSetCollection()

コレクション型情報を設定します。

用途

このコールは、型がコレクション型コードを使用して構成されている場合のみ実行されます。

構文

sword OCITypeSetCollection ( OCISvcCtx   *svchp, 
                             OCIError    *errhp, 
                             OCIType     *type, 
                             OCIParam    *collelem_info,
                             ub4          coll_count );

パラメータ

svchp (IN)

OCIサービス・コンテキストです。

errhp (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

type (IN/OUT)

構成される型の記述子です。

collelem_info (IN)

collelem_infoによって、コレクション要素に関する情報が提供されます。この情報は、OCIParamパラメータ・ハンドルを割り当て、OCIAttrSet()コールを使用して型情報をOCIParamに設定して取得します。

coll_count (IN)

コレクション内の要素数です。ネストした表(非有界)の場合は、0 (ゼロ)が渡されます。

関連トピック