次の方法で共有


JET_TABLECREATE2 構造体

適用対象: Windows |Windows Server

JET_TABLECREATE2 構造体

JET_TABLECREATE2構造体には、ESE データベース内の列とインデックスが設定されたテーブルを作成するために必要な情報と、コールバック関数を指定する情報が含まれています。 JET_TABLECREATE2構造体は、JetCreateTableColumnIndex2 によって使用されます。

Windows XP:JET_TABLECREATE2構造は Windows XP で導入されています。

    typedef struct tagJET_TABLECREATE2 {
      unsigned long cbStruct;
      tchar* szTableName;
      tchar* szTemplateTableName;
      unsigned long ulPages;
      unsigned long ulDensity;
      JET_COLUMNCREATE* rgcolumncreate;
      unsigned long cColumns;
      JET_INDEXCREATE* rgindexcreate;
      unsigned long cIndexes;
      tchar* szCallback;
      JET_CBTYP cbtyp;
      JET_GRBIT grbit;
      JET_TABLEID tableid;
      unsigned long cCreated;
    } JET_TABLECREATE2;

メンバー

cbStruct

この構造体のサイズをバイト単位で指定します (将来の拡張用)。 sizeof( JET_TABLECREATE2 ) にバイト単位で設定する必要があります。

szTableName

作成するテーブルの名前。

名前は、次の条件を満たす必要があります。

  • JET_cbNameMostより小さい値を指定します。終端の NULL は含まれません。
  • 0 から 9、A から Z、a から z、およびその他のすべての句読点 (!)、コンマ (、)、左角かっこ ([])、ASCII 文字0x20、0x22から0x2d 0x2f、0x5a、0x5c、0x7fまでの0x5dで構成されます。
  • スペースで始まる必要はありません。
  • 少なくとも 1 つの空白以外の文字で構成されます。

szTemplateTableName

基本 DDL (データ定義言語) を継承する既存のテーブルの名前。 テンプレート テーブルを使用すると、同じ列とインデックスを持つ多数のテーブルを簡単に作成できます。

ulPages

テーブルに割り当てるデータベース ページの初期数。 1 より大きい数値を指定すると、このテーブルに多数の行が挿入されると断片化が軽減される可能性があります。

ulDensity

表の密度 (パーセントポイント単位)。 数値は、0 または 20 ~ 100 の範囲である必要があります。 0 を渡すと、既定値を使用する必要があることを意味します。 既定値は 80 です。

rgcolumncreate

JET_COLUMNCREATE構造体の配列。各構造体は、新しいテーブルに作成される列に対応します。

cColumns

rgcolumncreate 内のJET_COLUMNCREATE要素の数。

rgindexcreate

JET_INDEXCREATE構造体の配列。各構造体は、新しいテーブルに作成されるインデックスに対応します。

cIndexes

rgindexcreate 内のJET_INDEXCREATE要素の数。

szCallback

特定のイベント中に呼び出される関数。 cbtyp は、コールバック関数が呼び出されるタイミングを決定します。

szCallback の形式は "module!function" である必要があります。たとえば、"alpha!beta" は"alpha" という名前のモジュールのベータ関数を参照します。 関数のプロトタイプは 、JET_CALLBACKと一致している必要があります。 詳細については、「 JET_CALLBACK」を参照してください。

cbtyp

szCallback によって指定されるコールバック関数の型について説明します。 詳細については、「 JET_CBTYP」を参照してください。 このビットフィールドは、次の 1 つ以上のビットで構成されます。

説明

JET_cbtypFinalize

最終処理できる列が 0 になった場合、コールバック関数が呼び出されます。

JET_cbtypBeforeInsert

コールバック関数は、レコードの挿入前に呼び出されます。

JET_cbtypAfterInsert

コールバック関数は、データベース エンジンがレコードの挿入を完了すると呼び出されます。

JET_cbtypBeforeReplace

コールバック関数は、レコードを変更する前に呼び出されます。

JET_cbtypAfterReplace

コールバック関数は、レコードの変更が完了した後に呼び出されます。

JET_cbtypBeforeDelete

コールバック関数は、レコードを削除する前に呼び出されます。

JET_cbtypAfterDelete

コールバック関数は、レコードが削除された後に呼び出されます。

JET_cbtypUserDefinedDefaultValue

コールバック関数は、ユーザー定義の既定値を計算するために呼び出されます。

JET_cbtypOnlineDefragCompleted

コールバック関数は、 JetDefragment2 の呼び出しが完了した後に呼び出されます。

JET_cbtypFreeCursorLS

カーソルに関連付けられているローカル ストレージを解放する必要がある場合は、コールバック関数が呼び出されます。

JET_cbtypFreeTableLS

コールバック関数は、テーブルに関連付けられているローカル ストレージを解放する必要がある場合に呼び出されます。

grbit

次の値の 0 個以上を含む、この呼び出しのオプションを含むビットのグループ。

説明

JET_bitTableCreateFixedDDL

JET_bitTableCreateFixedDDL設定すると、テーブルに対する DDL 操作 (列の追加や削除など) が防止されます。

JET_bitTableCreateTemplateTable

JET_bitTableCreateTemplateTableを設定すると、テーブルがテンプレート テーブルになります。 新しいテーブルでは、このテーブルの名前をテンプレート テーブルとして指定できます。 JET_bitTableCreateTemplateTable設定は、JET_bitTableCreateFixedDDLを意味します。

JET_bitTableCreateNoFixedVarColumnsInDerivedTables

JET_bitTableCreateTemplateTableと組み合わせて使用する必要があります。 非推奨。 使用しないでください。

tableid

API 呼び出しが成功した場合に新しいテーブルの JET_TABLEID を保持する出力フィールド。 API 呼び出しが失敗した場合、値は未定義です。

cCreated

API 呼び出しが成功した場合に作成されるオブジェクトの数を含む出力フィールド。 API 呼び出しが失敗した場合、値は未定義です。

作成されるオブジェクトの数は、正常に作成された列、テーブル、およびインデックスの合計と同じです。

要件

要件

Client

Windows Vista または Windows XP が必要です。

[サーバー]

Windows Server 2008 または Windows Server 2003 が必要です。

Header

Esent.h で宣言されています。

Unicode

JET_TABLECREATE2_W (Unicode) およびJET_TABLECREATE2_A (ANSI) として実装されます。

参照

JET_CALLBACK
JET_CBTYP
JET_CONDITIONALCOLUMN
JET_ERR
JET_GRBIT
JET_INDEXCREATE
JET_TABLEID
JetCreateTable
JetCreateTableColumnIndex
JetCreateTableColumnIndex2
JetDefragment2