다음을 통해 공유


JET_COLUMNDEF 구조체

적용 대상: Windows | Windows Server

JET_COLUMNDEF 구조체

JET_COLUMNDEF 구조체는 열에 저장할 수 있는 데이터를 정의합니다.

    typedef struct {
      unsigned long cbStruct;
      JET_COLUMNID columnid;
      JET_COLTYP coltyp;
      unsigned short wCountry;
      unsigned short langid;
      unsigned short cp;
      unsigned short wCollate;
      unsigned long cbMax;
      JET_GRBIT grbit;
    } JET_COLUMNDEF;

멤버

cbStruct

구조체의 크기(바이트)입니다. sizeof(JET_COLUMNDEF)로 설정해야 합니다.

columnid

예약되어 있습니다. columnid 는 0으로 설정해야 합니다.

coltyp

열의 형식(예: 텍스트, 이진 또는 숫자)입니다. 자세한 내용은 JET_COLTYP.

wCountry

예약되어 있습니다. wCountry 는 0으로 설정해야 합니다.

Langid

사용되지 않습니다. langid 는 0으로 설정해야 합니다.

cp

열의 코드 페이지입니다. 텍스트 열에 유효한 값은 영어(1252) 및 유니코드(1200)뿐입니다. 값이 0이면 기본값이 사용됩니다(영어, 1252). 열이 텍스트 열이 아니면 코드 페이지가 자동으로 0으로 설정됩니다.

wCollate

예약되어 있습니다. wCollate 는 0으로 설정해야 합니다.

cbMax

가변 길이 열의 최대 길이(바이트)이거나 고정 길이 열의 길이입니다.

grbit

다음 값 중 0개 이상을 포함하는 이 호출에 사용할 옵션이 포함된 비트 그룹입니다.

의미

JET_bitColumnFixed

열이 고정됩니다. 열에 저장되는 데이터의 양에 관계없이 항상 동일한 양의 공간을 행에 사용합니다. JET_bitColumnFixed JET_bitColumnTagged 사용할 수 없습니다. 이 비트는 긴 값( JET_coltypLongTextJET_coltypLongBinary)과 함께 사용할 수 없습니다.

JET_bitColumnTagged

열에 태그가 지정됩니다. 태그가 지정된 열은 데이터가 없는 경우 데이터베이스의 공간을 차지하지 않습니다. 이 비트는 JET_bitColumnFixed 사용할 수 없습니다.

JET_bitColumnNotNULL

열은 NULL 값으로 설정해서는 안 됩니다.

JET_bitColumnVersion

열은 행의 버전을 지정하는 버전 열입니다. 이 열의 값은 0에서 시작하여 행의 각 업데이트에 대해 자동으로 증가합니다.

이 비트는 JET_coltypLong 열에만 적용할 수 있습니다. 이 비트는 JET_bitColumnAutoincrement, JET_bitColumnEscrowUpdate 또는 JET_bitColumnTagged 사용할 수 없습니다.

JET_bitColumnAutoincrement

열이 자동으로 증가합니다. 숫자는 증가하는 숫자이며 테이블 내에서 고유하도록 보장됩니다. 그러나 숫자는 연속되지 않을 수 있습니다. 예를 들어 테이블에 5개의 행을 삽입하면 "자동 증가" 열에 { 1, 2, 6, 7, 8 }값이 포함될 수 있습니다. 이 비트는 JET_coltypLong 또는JET_coltypCurrency 형식의 열에서만 사용할 수 있습니다.

Windows 2000: Windows 2000에서 이 비트는 JET_coltypLong 형식의 열에서만 사용할 수 있습니다.

JET_bitColumnUpdatable

이 비트는 JetGetColumnInfo 호출에서만 유효합니다.

JET_bitColumnTTKey

이 비트는 JetOpenTable 호출에만 유효합니다.

JET_bitColumnTTDescending

이 비트는 JetOpenTempTable 호출에서만 유효합니다.

JET_bitColumnMultiValued

열은 다중값일 수 있습니다. 다중값 열에는 연결된 값이 0개, 하나 이상 있을 수 있습니다. 다중값 열의 다양한 값은 itagSequence 멤버라는 숫자로 식별되며, 이 멤버는 JET_RETINFO, JET_SETINFO, JET_SETCOLUMN, JET_RETRIEVECOLUMNJET_ENUMCOLUMNVALUE 포함한 다양한 구조체에 속합니다. 다중값 열은 태그가 지정된 열이어야 합니다. 즉, 고정 길이 또는 가변 길이 열일 수 없습니다.

JET_bitColumnEscrowUpdate

열이 에스크로 업데이트 열임을 지정합니다. 에스크로 업데이트 열은 JetEscrowUpdate 를 사용하는 여러 세션에서 동시에 업데이트할 수 있으며 트랜잭션 일관성을 유지합니다. 에스크로 업데이트 열도 다음 조건을 충족해야 합니다.

  • 에스크로 업데이트 열은 테이블이 비어 있는 경우에만 만들 수 있습니다.

  • 에스크로 업데이트 열은 JET_coltypLong 형식이어야 합니다.

  • 에스크로 업데이트 열에는 기본값이 있어야 합니다(즉 , cbDefault 는 양수여야 합니다).

  • JET_bitColumnEscrowUpdate JET_bitColumnTagged, JET_bitColumnVersion 또는 JET_bitColumnAutoincrement 함께 사용할 수 없습니다.

JET_bitColumnUnversioned

열은 버전 정보가 없는 에서 만들어집니다. 즉, 동일한 이름의 열을 추가하려는 다른 트랜잭션이 실패합니다. 이 비트는 JetAddColumn에만 유용합니다. 트랜잭션 내에서 사용할 수 없습니다.

JET_bitColumnMaybeNull

다음에 사용하도록 예약됩니다.

JET_bitColumnFinalize

JET_bitColumnFinalize 대신 JET_bitColumnDeleteOnZero 사용합니다. 열을 완료할 수 JET_bitColumnFinalize. 완료할 수 있는 열에 0에 도달하는 에스크로 업데이트 열이 있으면 행이 삭제됩니다. 이후 버전에서는 콜백 함수를 대신 호출할 수 있습니다(자세한 내용은 JET_CALLBACK 참조). 완료할 수 있는 열은 에스크로 업데이트 열이어야 합니다. JET_bitColumnFinalize JET_bitColumnUserDefinedDefault 사용할 수 없습니다.

JET_bitColumnUserDefinedDefault

열의 기본값은 콜백 함수에서 제공됩니다. JET_CALLBACK 참조하세요. 사용자 정의 기본값이 있는 열은 태그가 지정된 열이어야 합니다. JET_bitColumnUserDefinedDefault 지정하면 pvDefaultJET_USERDEFINEDDEFAULT 구조를 가리킨 다음 cbDefault 를 sizeof( JET_USERDEFINEDDEFAULT )로 설정해야 합니다.

  • JET_bitColumnUserDefinedDefault JET_bitColumnFixed, JET_bitColumnNotNULL, JET_bitColumnVersion, JET_bitColumnAutoincrement, JET_bitColumnUpdatable, JET_bitColumnEscrowUpdate, JET_bitColumnFinalize, JET_bitColumnDeleteOnZero 또는 JET_bitColumnMaybeNull 함께 사용할 수 없습니다.

JET_bitColumnDeleteOnZero

열은 에스크로 업데이트 열이며 0에 도달하면 레코드가 삭제됩니다. 마무리할 수 있는 열의 일반적인 용도는 참조 개수 필드로 사용하고 필드가 0에 도달하면 레코드가 삭제되는 것입니다. JET_bitColumnDeleteOnZero JET_bitColumnFinalize 관련이 있습니다. 0에 삭제 열은 에스크로 업데이트 열이어야 합니다. JET_bitColumnDeleteOnZero JET_bitColumnFinalize 사용할 수 없습니다. JET_bitColumnDeleteOnZero 사용자 정의 기본 열에는 사용할 수 없습니다.

요구 사항

요구 사항

클라이언트

Windows Vista, Windows XP 또는 Windows 2000 Professional이 필요합니다.

서버

Windows Server 2008, Windows Server 2003 또는 Windows 2000 Server가 필요합니다.

머리글

Esent.h에서 선언되었습니다.

참고 항목

JET_CALLBACK
JET_COLTYP
JET_COLUMNCREATE
JET_COLUMNID
JET_GRBIT
JET_USERDEFINEDDEFAULT
JetAddColumn
JetEscrowUpdate
JetGetTableColumnInfo
JetOpenTempTable
JetOpenTempTable2
JetOpenTempTable3
JetRenameColumn