30.2 OCIの型インタフェース関数
表30-2は、この項で説明している型インタフェース関数を示しています。
表30-2 型インタフェース関数
関数 | 用途 |
---|---|
型コード |
|
一時的な型に対する構成プロセスを開始します。この型は無名(名前なし)です。 |
|
型の記述の構成を終了します。終了後は、アクセスのみ可能です。 |
|
組込みの型情報を設定します。このコールは、型が組込みの型コード( |
|
コレクション型情報を設定します。このコールは、型がコレクション型コードを使用して構成されている場合のみ実行されます。 |
30.2.1 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
に設定して取得します。
関連トピック
30.2.2 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()
を使用して、作成プロセスを終了します。
-
以前に作成されたユーザー期間。これは、
OCIDurationBegin()
を使用して作成できます。 -
OCI_DURATION_SESSION
などの事前定義の期間。
コメント
永続的な名前付きの型を作成するには、SQL文CREATE
TYPE
を使用してください。一時的な型には識別情報がありません。これらは純粋な値です。
30.2.3 OCITypeEndCreate()
型の記述の構成を終了します。終了後は、アクセスのみ可能です。
用途
型の記述の構成を終了します。終了後は、アクセスのみ可能です。
構文
sword OCITypeEndCreate ( OCISvcCtx *svchp, OCIError *errhp, OCIType *type );
関連トピック
30.2.4 OCITypeSetBuiltin()
組込みの型情報を設定します。
用途
このコールは、型が組込みの型コード(OCI_TYPECODE_NUMBER
など)を使用して構成されている場合のみ実行されます。
構文
sword OCITypeSetBuiltin ( OCISvcCtx *svchp, OCIError *errhp, OCIType *type, OCIParam *builtin_info );
関連トピック
30.2.5 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 (ゼロ)が渡されます。
関連トピック