この項では、型インタフェース関数について説明します。
表21-3 型インタフェース関数
| 関数 | 用途 |
|---|---|
|
|
型コード |
|
|
一時的な型に対する構成プロセスを開始します。この型は無名(名前なし)です。 |
|
|
型の記述の構成を終了します。終了後は、アクセスのみ可能です。 |
|
|
組込みの型情報を設定します。このコールは、型が組込みの型コード( |
|
|
コレクション型情報を設定します。このコールは、型がコレクション型コードを使用して構成されている場合のみ実行されます。 |
用途
型コードOCI_TYPECODE_OBJECTを使用して以前作成したオブジェクト型に属性を追加します。
構文
sword OCITypeAddAttr ( OCISvcCtx *svchp,
OCIError *errhp,
OCIType *type,
const text *a_name,
ub4 a_length,
OCIParam *attr_info );
パラメータ
OCIサービス・コンテキストです。
OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。
構成される型の記述です。
オプションです。属性の名前です。
オプションです。属性名の長さ(バイト単位)です。
属性の情報です。この情報は、OCIParamパラメータ・ハンドルを割り当て、OCIAttrSet()コールを使用して型情報をOCIParamに設定して取得します。
用途
一時的な型に対する構成プロセスを開始します。この型は無名(名前なし)です。
構文
sword OCITypeBeginCreate ( OCISvcCtx *svchp,
OCIError *errhp,
OCITypeCode tc,
OCIDuration dur,
OCIType **type );
パラメータ
OCIサービス・コンテキストです。
OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。
型に対する型コードです。この型コードは、オブジェクト型または組込みの型に対応している場合があります。
現在、ユーザー定義型に対して可能な値は次のとおりです。
OCI_TYPECODE_OBJECT(構成済のオブジェクト型の場合)
OCI_TYPECODE_VARRAY(VARRAYコレクション型の場合)
OCI_TYPECODE_TABLE(NESTED TABLEコレクション型の場合)
オブジェクト型の場合は、OCITypeAddAttr()をコールして、各属性型を追加します。コレクション型の場合は、OCITypeSetCollection()をコールします。次に、OCITypeEndCreate()をコールして、作成プロセスを終了します。
組込みの型コードに対して可能な値は、「型コード」で指定されています。組込みの型に関する追加情報(精度、数値のスケール、VARCHAR2のキャラクタ・セット情報など)がある場合は、後続のOCITypeSetBuiltin()コールで設定してください。最後に、OCITypeEndCreate()を使用して、作成プロセスを終了します。
型に対する割当て時間です。次のいずれかになります。
構成されるOCIType(型の記述子)です。
コメント
永続的な名前付きの型を作成するには、SQL文CREATE TYPEを使用してください。一時的な型には識別情報がありません。これらは純粋な値です。
用途
型の記述の構成を終了します。終了後は、アクセスのみ可能です。
構文
sword OCITypeEndCreate ( OCISvcCtx *svchp,
OCIError *errhp,
OCIType *type );
パラメータ
OCIサービス・コンテキストです。
OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。
構成される型の記述です。
用途
組込みの型情報を設定します。このコールは、型が組込みの型コード(OCI_TYPECODE_NUMBERなど)を使用して構成されている場合のみ実行されます。
構文
sword OCITypeSetBuiltin ( OCISvcCtx *svchp,
OCIError *errhp,
OCIType *type,
OCIParam *builtin_info );
パラメータ
OCIサービス・コンテキストです。
OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。
構成される型の記述です。
組込みに関する情報(精度、スケール、キャラクタ・セットなど)を提供します。この情報は、OCIParamパラメータ・ハンドルを割り当て、OCIAttrSet()コールを使用して型情報をOCIParamに設定して取得します。
用途
コレクション型情報を設定します。このコールは、型がコレクション型コードを使用して構成されている場合のみ実行されます。
構文
sword OCITypeSetCollection ( OCISvcCtx *svchp,
OCIError *errhp,
OCIType *type,
OCIParam *collelem_info,
ub4 coll_count );
パラメータ
OCIサービス・コンテキストです。
OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。
構成される型の記述子です。
collelem_infoによって、コレクション要素に関する情報が提供されます。この情報は、OCIParamパラメータ・ハンドルを割り当て、OCIAttrSet()コールを使用して型情報をOCIParamに設定して取得します。
コレクション内の要素数です。ネストした表(非有界)の場合は、0(ゼロ)が渡されます。