JET_TABLECREATE3 구조체
적용 대상: Windows | Windows Server
JET_TABLECREATE3 구조에는 ESE(Extensible Storage Engine) 데이터베이스에 열 및 인덱스로 채워진 테이블을 만드는 데 필요한 정보와 콜백 함수를 지정하는 정보가 포함되어 있습니다. 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
만들 테이블의 이름입니다.
이름은 다음 조건을 충족해야 합니다.
종료 null을 포함하지 않고 JET_cbNameMost 미만의 값이 있어야 합니다.
문자 집합은 0~9, A~Z, a-z 및 느낌표(!), 쉼표(,), 여는 대괄호([) 및 닫는 대괄호(])를 제외한 다른 모든 문장 부호로 구성되어야 합니다. 즉, ASCII 문자 0x20, 0x2d 통해 0x22, 0x7f 통해 0x5a, 0x5c 및 0x5d 통해 0x2f.
공백으로 시작해서는 안 됩니다.
공백이 아닌 문자로 구성되어야 합니다.
szTemplateTableName
기본 DDL(데이터 정의 언어)을 상속할 기존 테이블의 이름입니다. 템플릿 테이블을 사용하면 동일한 열과 인덱스를 사용하여 많은 테이블을 쉽게 만들 수 있습니다.
ulPages
테이블에 할당할 데이터베이스 페이지의 초기 수입니다. 여러 행이 이 테이블에 삽입되는 경우 1보다 큰 숫자를 지정하면 조각화를 줄일 수 있습니다.
ulDensity
테이블 밀도(백분율 포인트)입니다. 숫자는 0이거나 20~100 범위여야 합니다. 0을 전달하면 기본값을 사용해야 합니다. 기본값은 80입니다.
rgcolumncreate
각각 새 테이블에서 만들 열에 해당하는 JET_COLUMNCREATE 구조체의 배열입니다.
cColumns
rgcolumncreate 매개 변수의 JET_COLUMNCREATE 요소 수입니다.
rgindexcreate
각각 새 테이블에서 만들 인덱스에 해당하는 JET_INDEXCREATE2 구조체의 배열입니다.
cIndexes
rgindexcreate 매개 변수의 JET_INDEXCREATE2 요소 수입니다.
szCallback
특정 이벤트 중에 호출되는 함수입니다. cbtyp 은 콜백 함수가 호출되는 시기를 결정합니다.
szCallback 형식은 "module!function"이어야 합니다. 예를 들어 "alpha!beta"는 "alpha"라는 모듈의 베타 함수를 나타냅니다.
함수의 프로토타입은 JET_CALLBACK 콜백 함수와 일치해야 합니다.
cbtyp
szCallback으로 지정된 콜백 함수의 형식을 설명합니다. 자세한 내용은 JET_CBTYP 참조하세요.
이 비트 필드는 다음 표에 나열된 하나 이상의 비트 값으로 구성됩니다.
값 |
의미 |
---|---|
JET_cbtypFinalize |
마무리할 수 있는 열이 0으로 갔을 때 콜백 함수가 호출됩니다. |
JET_cbtypBeforeInsert |
콜백 함수는 레코드 삽입 전에 호출됩니다. |
JET_cbtypAfterInsert |
데이터베이스 엔진에서 레코드 삽입을 완료한 후 콜백 함수가 호출됩니다. |
JET_cbtypBeforeReplace |
콜백 함수는 레코드를 수정하기 전에 호출됩니다. |
JET_cbtypAfterReplace |
콜백 함수는 레코드 수정을 완료한 후 호출됩니다. |
JET_cbtypBeforeDelete |
콜백 함수는 레코드를 삭제하기 전에 호출됩니다. |
JET_cbtypAfterDelete |
레코드가 삭제된 후 콜백 함수가 호출됩니다. |
JET_cbtypUserDefinedDefaultValue |
콜백 함수는 사용자 정의 기본값을 계산하기 위해 호출됩니다. |
JET_cbtypFreeCursorLS |
커서와 연결된 로컬 스토리지를 해제해야 하는 경우 콜백 함수가 호출됩니다. |
JET_cbtypFreeTableLS |
테이블과 연결된 로컬 스토리지를 해제해야 하는 경우 콜백 함수가 호출됩니다. |
grbit
다음 표에 나열된 호출 옵션 값이 0개 이상 포함된 비트 그룹입니다.
값 |
의미 |
---|---|
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 트리에 대한 모든 long-value c 구조체입니다. 자세한 내용은 JET_SPACEHINTS ng-value를 참조하세요. 레코드가 너무 커지면 이 값보다 작은 긴 값 열을 구분할 수 있습니다.
cbSeparateLV 는 Windows 7에서 도입되었습니다.
tableid
API 호출이 성공하는 경우 새 테이블의 JET_TABLEID 포함하는 출력 필드입니다. API 호출이 실패하면 값이 정의되지 않습니다. 이 테이블은 단독으로 열립니다.
cCreated
API 호출이 성공하면 생성되는 개체 수를 포함하는 출력 필드입니다. API 호출이 실패하면 값이 정의되지 않습니다.
만들어진 개체의 수는 성공적으로 만들어진 열, 테이블 및 인덱스의 합계와 같습니다.
요구 사항
요구 사항 | 값 |
---|---|
클라이언트 |
Windows Vista 또는 Windows XP가 필요합니다. |
서버 |
Windows Server 2008 또는 Windows Server 2003이 필요합니다. |
머리글 |
Esent.h에서 선언되었습니다. |
유니코드 |
JET_TABLECREATE3_W(유니코드) 및 ANSI(JET_TABLECREATE3_A)로 구현됩니다. |
추가 정보
JET_CALLBACK
JET_CBTYP
JET_CONDITIONALCOLUMN
JET_ERR
JET_GRBIT
JET_INDEXCREATE
JET_TABLEID
JetCreateTable
JetCreateTableColumnIndex
JetCreateTableColumnIndex2
JetDefragment2