Partager via


Structure JET_TABLECREATE3

S’applique à : Windows | Windows Server

La structure JET_TABLECREATE3 contient les informations nécessaires pour créer une table remplie de colonnes et d’index dans une base de données ESE (Extensible Storage Engine) et qui désigne une fonction de rappel. La structure JET_TABLECREATE3 est utilisée par la fonction JetCreateTableColumnIndex3 .

La structure JET_TABLECREATE3 a été introduite dans le système d’exploitation Windows 7.

typedef struct tagJET_TABLECREATE3 {
  unsigned long cbStruct;
  tchar* szTableName;
  tchar* szTemplateTableName;
  unsigned long ulPages;
  unsigned long ulDensity;
  JET_COLUMNCREATE* rgcolumncreate;
  unsigned long cColumns;
    JET_INDEXCREATE2* rgindexcreate;
  unsigned long cIndexes;
  tchar* szCallback;
  JET_CBTYP cbtyp;
  JET_GRBIT grbit;
  JET_TABLEID tableid;
  un  JET_GRBIT grbit;
  JET_SPACEHINTS* pSeqSpacehints;
  JET_SPACEHINTS* pLVSpacehints;
  unsigned long cbSeparateLV;
  JET_TABLEID tableid;
  unsigned long cCreated;
} JET_TABLECREATE3;>

Membres

cbStruct

Taille de cette structure en octets (pour l’extension future). Il doit être défini sur sizeof( JET_TABLECREATE3 ) en octets.

szTableName

Nom de la table à créer.

Le nom doit remplir les conditions suivantes :

  • Elle doit avoir une valeur inférieure à JET_cbNameMost, sans compter la valeur null de fin.

  • Il doit se composer de l’ensemble de caractères suivant : 0 à 9, A à Z, a à z, et toutes les autres ponctuations à l’exception du point d’exclamation (!), de la virgule (,), du crochet ouvrant ([) et du crochet fermant (]); Autrement dit, les caractères ASCII 0x20, 0x22 via 0x2d, 0x2f via 0x5a, 0x5c et 0x5d via 0x7f.

  • Il ne doit pas commencer par un espace.

  • Il doit se composer d’au moins un caractère autre que l’espace.

szTemplateTableName

Nom d’une table existante à partir de laquelle hériter le langage de définition de données de base (DDL). L’utilisation d’un tableau de modèle permet de créer facilement de nombreuses tables avec des colonnes et des index identiques.

ulPages

Nombre initial de pages de base de données à allouer pour la table. La spécification d’un nombre supérieur à un peut réduire la fragmentation si de nombreuses lignes sont insérées dans cette table.

ulDensity

Densité de table, en points de pourcentage. Le nombre doit être 0 ou dans la plage de 20 à 100. Passer 0 signifie que la valeur par défaut doit être utilisée. La valeur par défaut est 80.

rgcolumncreate

Tableau de structures JET_COLUMNCREATE , chacune correspondant à une colonne à créer dans la nouvelle table.

cColumns

Nombre d’éléments JET_COLUMNCREATE dans le paramètre rgcolumncreate .

rgindexcreate

Tableau de structures JET_INDEXCREATE2 , chacune correspondant à un index à créer dans la nouvelle table.

cIndexes

Nombre d’éléments JET_INDEXCREATE2 dans le paramètre rgindexcreate .

szCallback

Fonction appelée pendant certains événements. cbtyp détermine quand la fonction de rappel sera appelée.

Le format de szCallback doit être « module!function », par exemple, « alpha!beta » fait référence à la fonction bêta dans le module nommé « alpha ».

Le prototype de la fonction doit correspondre à la fonction de rappel JET_CALLBACK .

cbtyp

Décrit le type de fonction de rappel désigné par szCallback. Pour plus d’informations, consultez JET_CBTYP.

Ce champ de bits est composé d’une ou plusieurs des valeurs de bits répertoriées dans le tableau suivant.

Valeur

Signification

JET_cbtypFinalize

La fonction de rappel est appelée lorsqu’une colonne pouvant être finalisée est passée à zéro.

JET_cbtypBeforeInsert

La fonction de rappel sera appelée avant l’insertion de l’enregistrement.

JET_cbtypAfterInsert

La fonction de rappel est appelée une fois que le moteur de base de données a terminé d’insérer un enregistrement.

JET_cbtypBeforeReplace

La fonction de rappel est appelée avant la modification d’un enregistrement.

JET_cbtypAfterReplace

La fonction de rappel sera appelée après avoir terminé la modification d’un enregistrement.

JET_cbtypBeforeDelete

La fonction de rappel est appelée avant la suppression d’un enregistrement.

JET_cbtypAfterDelete

La fonction de rappel sera appelée après la suppression d’un enregistrement.

JET_cbtypUserDefinedDefaultValue

La fonction de rappel sera appelée pour calculer une valeur par défaut définie par l’utilisateur.

JET_cbtypFreeCursorLS

La fonction de rappel est appelée lorsque le stockage local associé à un curseur doit être libéré.

JET_cbtypFreeTableLS

La fonction de rappel est appelée lorsque le stockage local associé à une table doit être libéré.

grbit

Groupe de bits qui contient zéro ou plus des valeurs d’option d’appel répertoriées dans le tableau suivant.

Valeur

Signification

JET_bitTableCreateFixedDDL

Empêche les opérations DDL sur la table (telles que l’ajout ou la suppression de colonnes).

JET_bitTableCreateTemplateTable

Fait de la table un modèle de table. Les nouvelles tables peuvent ensuite spécifier le nom de cette table comme table de modèle. La définition de JET_bitTableCreateTemplateTable implique JET_bitTableCreateFixedDDL.

JET_bitTableCreateNoFixedVarColumnsInDerivedTables

Doit être utilisé conjointement avec JET_bitTableCreateTemplateTable. Obsolète. Ne pas utiliser.

pSeqSpacehints

Pointeur vers une structure JET_SPACEHINTS pour l’index séquentiel par défaut.

pSeqSpacehints a été introduit dans Windows 7.

pLVSpacehints

Pointeur vers une structure JET_SPACEHINTS pour une arborescence de valeurs longues séparées.

pLVSpacehints a été introduit dans Windows 7.

cbSeparateLV

Taille permettant de séparer une LV intrinsèque de l’enregistrement principal. Toute structure c à valeur longue pour une arborescence LV séparée. Pour plus d’informations, consultez ng-value dans JET_SPACEHINTS. Les colonnes de valeur longue inférieures à cette valeur peuvent être séparées si l’enregistrement devient trop volumineux.

cbSeparateLV a été introduit dans Windows 7.

tableid

Champ de sortie qui contient le JET_TABLEID de la nouvelle table si l’appel d’API réussit. Si l’appel d’API échoue, la valeur n’est pas définie. Cette table est ouverte exclusivement.

cCréated

Champ de sortie qui contient le nombre d’objets créés si l’appel d’API réussit. Si l’appel d’API échoue, la valeur n’est pas définie.

Le nombre d’objets créés est égal à la somme des colonnes, des tables et des index créés avec succès.

Spécifications

Condition requise Valeur

Client

Nécessite Windows Vista ou Windows XP.

Serveur

Nécessite Windows Server 2008 ou Windows Server 2003.

En-tête

Déclaré dans Esent.h.

Unicode

Implémenté en tant que JET_TABLECREATE3_W (Unicode) et JET_TABLECREATE3_A (ANSI).

Voir aussi

JET_CALLBACK
JET_CBTYP
JET_CONDITIONALCOLUMN
JET_ERR
JET_GRBIT
JET_INDEXCREATE
JET_TABLEID
JetCreateTable
JetCreateTableColumnIndex
JetCreateTableColumnIndex2
JetDefragment2