Структура JET_TABLECREATE3
Применимо к: Windows | Windows Server
Структура JET_TABLECREATE3 содержит сведения, необходимые для создания таблицы, заполненной столбцами и индексами в базе данных расширяемого ядра хранилища (ESE), и которая обозначает функцию обратного вызова. Структура JET_TABLECREATE3 используется функцией JetCreateTableColumnIndex3 .
Структура JET_TABLECREATE3 появилась в операционной системе 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;>
Элементы
cbStruct
Размер этой структуры в байтах (для будущего расширения). Ему необходимо задать значение sizeof( JET_TABLECREATE3 ) в байтах.
szTableName
Имя создаваемой таблицы.
Имя должно соответствовать следующим условиям:
Он должен иметь значение меньше JET_cbNameMost, не включая завершающее значение NULL.
Он должен состоять из следующего набора символов: от 0 до 9, от A до Z, от a до z и всех других знаков препинания, кроме восклицательного знака (!), запятой (,), открывающей скобки ([) и закрывающей скобки (]); то есть символы ASCII 0x20, 0x22 через 0x2d, 0x2f через 0x5a, 0x5c и 0x5d через 0x7f.
Она не должна начинаться с пробела.
Он должен состоять по крайней мере из одного символа, отличного от пробела.
szTemplateTableName
Имя существующей таблицы, от которой следует наследовать базовый язык определения данных (DDL). Использование таблицы шаблона позволяет легко создавать множество таблиц с одинаковыми столбцами и индексами.
ulPages
Начальное количество страниц базы данных, выделяемых для таблицы. Если в эту таблицу вставить много строк, можно уменьшить фрагментацию.
ulDensity
Плотность таблицы в процентных пунктах. Число должно быть либо 0, либо находиться в диапазоне от 20 до 100. Передача 0 означает, что следует использовать значение по умолчанию. Значение по умолчанию равно 80.
rgcolumncreate
Массив JET_COLUMNCREATE структур, каждая из которых соответствует столбцу, создаваемому в новой таблице.
cColumns
Количество элементов JET_COLUMNCREATE в параметре rgcolumncreate .
rgindexcreate
Массив JET_INDEXCREATE2 структур, каждая из которых соответствует индексу, создаваемому в новой таблице.
cIndexes
Число JET_INDEXCREATE2 элементов в параметре rgindexcreate .
szCallback
Функция, вызываемая во время определенных событий. cbtyp определяет, когда будет вызываться функция обратного вызова.
Формат szCallback должен быть "module!function" — например, "alpha!beta" относится к бета-функции в модуле с именем "alpha".
Прототип функции должен соответствовать функции обратного вызова JET_CALLBACK .
cbtyp
Описывает тип функции обратного вызова, назначенной szCallback. Дополнительные сведения см. в разделе JET_CBTYP.
Это битовое поле состоит из одного или нескольких битовых значений, перечисленных в следующей таблице.
Значение |
Значение |
---|---|
JET_cbtypFinalize |
Функция обратного вызова будет вызываться, когда столбец, который можно завершить, перешел к нулю. |
JET_cbtypBeforeInsert |
Функция обратного вызова будет вызвана до вставки записи. |
JET_cbtypAfterInsert |
Функция обратного вызова будет вызываться после того, как ядро СУБД завершит вставку записи. |
JET_cbtypBeforeReplace |
Функция обратного вызова будет вызываться до изменения записи. |
JET_cbtypAfterReplace |
Функция обратного вызова будет вызываться после завершения изменения записи. |
JET_cbtypBeforeDelete |
Функция обратного вызова будет вызываться до удаления записи. |
JET_cbtypAfterDelete |
Функция обратного вызова будет вызываться после удаления записи. |
JET_cbtypUserDefinedDefaultValue |
Функция обратного вызова будет вызвана для вычисления определяемого пользователем значения по умолчанию. |
JET_cbtypFreeCursorLS |
Функция обратного вызова будет вызываться при освобождении локального хранилища, связанного с курсором. |
JET_cbtypFreeTableLS |
Функция обратного вызова будет вызываться при освобождении локального хранилища, связанного с таблицей. |
grbit
Группа битов, содержащая ноль или более значений параметров вызова, перечисленных в следующей таблице.
Значение |
Значение |
---|---|
JET_bitTableCreateFixedDDL |
Запрещает операции DDL с таблицей (например, добавление или удаление столбцов). |
JET_bitTableCreateTemplateTable |
Указывает, что таблица будет шаблонной. Затем новые таблицы могут указать имя этой таблицы в качестве таблицы шаблонов. Настройка JET_bitTableCreateTemplateTable подразумевает JET_bitTableCreateFixedDDL. |
JET_bitTableCreateNoFixedVarColumnsInDerivedTables |
Должен использоваться в сочетании с JET_bitTableCreateTemplateTable. Не рекомендуется. Не используется. |
pSeqSpacehints
Указатель на структуру JET_SPACEHINTS для последовательного индекса по умолчанию.
pSeqSpacehints появился в Windows 7.
PLVSpacehints
Указатель на структуру JET_SPACEHINTS для дерева разделенных длинных значений.
pLVSpacehints появился в Windows 7.
cbSeparateLV
Размер, который отделяет встроенную lv от основной записи. Любая структура с длинным значением для дерева разделенных LV. Дополнительные сведения см. в разделе ng-value в JET_SPACEHINTS. Столбцы с длинными значениями меньше этого значения могут быть разделены, если запись становится слишком большой.
cbSeparateLV появилась в Windows 7.
tableid
Поле вывода, в котором содержится JET_TABLEID новой таблицы в случае успешного вызова API. Если вызов API завершается сбоем, значение не определено. Эта таблица открывается исключительно.
cCreated
Выходное поле, содержащее количество объектов, созданных при успешном вызове API. Если вызов API завершается сбоем, значение не определено.
Количество созданных объектов равно сумме успешно созданных столбцов, таблиц и индексов.
Требования
Требование | Значение |
---|---|
Клиент |
Требуется Windows Vista или Windows XP. |
Сервер |
Требуется Windows Server 2008 или Windows Server 2003. |
Верхняя часть |
Объявлено в Esent.h. |
Юникод |
Реализовано как JET_TABLECREATE3_W (Юникод) и JET_TABLECREATE3_A (ANSI). |
См. также раздел
JET_CALLBACK
JET_CBTYP
JET_CONDITIONALCOLUMN
JET_ERR
JET_GRBIT
JET_INDEXCREATE
JET_TABLEID
JetCreateTable
JetCreateTableColumnIndex
JetCreateTableColumnIndex2
JetDefragment2