Share via


JET_COLUMNBASE 구조체

적용 대상: Windows | Windows Server

JET_COLUMNBASE 구조체

JET_COLUMNBASE 구조체는 기본 열의 매개 변수를 설명합니다. JetGetColumnInfoJetGetTableColumnInfo 함수는 JET_COLUMNBASE 구조를 사용합니다.

    typedef struct {
      unsigned long cbStruct;
      JET_COLUMNID columnid;
      JET_COLTYP coltyp;
      unsigned short wCountry;
      unsigned short langid;
      unsigned short cp;
      unsigned short wFiller;
      unsigned long cbMax;
      JET_GRBIT grbit;
      tchar szBaseTableName[256];
      tchar szBaseColumnName[256];
    } JET_COLUMNBASE;

멤버

cbStruct

이 구조체의 크기(바이트)입니다. cbStruct를 sizeof(JET_COLUMNBASE )로 설정합니다.

columnid

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

coltyp

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

wCountry

예약되어 있습니다. 0으로 설정합니다.

Langid

예약되어 있습니다. 0으로 설정합니다.

cp

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

wFiller

예약되어 있습니다. 0으로 설정합니다.

cbMax

고정 길이 열의 가변 길이 열 또는 실제 길이(바이트)의 최대 길이(바이트)입니다.

grbit

다음 값 중 0개 이상을 포함하여 열에 대한 옵션입니다.

의미

JET_bitColumnFixed

열은 고정되어 있으며 포함된 데이터의 양에 관계없이 행에서 동일한 양의 공간을 차지합니다. JET_bitColumnFixed JET_bitColumnTagged 결합할 수 없으며 coltyp 멤버를 JET_coltypLongText 또는JET_coltypLongBinary 설정할 때 사용할 수 없습니다.

JET_bitColumnTagged

열은 태그가 지정되고 데이터가 포함된 경우에만 데이터베이스의 공간을 차지합니다. JET_bitColumnTagged JET_bitColumnFixed, JET_bitColumnVersion 또는 JET_bitColumnEscrowUpdate 결합할 수 없습니다.

JET_bitColumnNotNULL

열을 NULL 값으로 설정하면 안 됩니다.

JET_bitColumnNotNULL JET_bitColumnUserDefinedDefault 결합할 수 없습니다.

JET_bitColumnVersion

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

JET_bitColumnVersion coltyp 멤버가 JET_coltypLong 설정되고 JET_bitColumnAutoincrement, JET_bitColumnEscrowUpdate , JET_bitColumnTagged 또는 JET_bitColumnUserDefinedDefault 결합할 수 없는 경우에만 사용할 수 있습니다.

JET_bitColumnAutoincrement

열이 자동으로 증가합니다. 숫자는 증가하는 숫자이며 테이블 내에서 고유하도록 보장됩니다. 그러나 숫자는 순차적이지 않을 수 있습니다. 예를 들어 테이블에 5개의 행을 삽입하면 자동으로 증분된 열에 { 1, 2, 6, 7, 8 } 값이 포함될 수 있습니다.

JET_bitColumnAutoincrement coltyp 멤버가 JET_coltypLong 또는 JET_coltypCurrency 설정되고 JET_bitColumnEscrowUpdate, JET_bitColumnUserDefinedDefault 또는 JET_bitColumnVersion 결합할 수 없는 경우에만 사용할 수 있습니다.

Windows 2000: JET_bitColumnVersion coltyp 멤버가 JET_coltypLong 설정된 경우에만 사용할 수 있습니다.

JET_bitColumnUpdatable

JetGetColumnInfo 호출에만 유효합니다. JET_bitColumnUpdatable JET_bitColumnUserDefinedDefault 결합할 수 없습니다.

JET_bitColumnTTKey

JetOpenTable 호출에만 유효합니다.

JET_bitColumnTTDescending

JetOpenTempTable 호출에만 유효합니다.

JET_bitColumnMultiValued

열은 다중값일 수 있습니다. 다중값 열에는 연결된 값이 0개, 하나 이상 있을 수 있습니다. 다중값 열의 다양한 값은 다양한 구조체의 itagSequence 멤버에 있는 숫자(예: JET_RETINFO, JET_SETINFO, JET_SETCOLUMN, JET_RETRIEVECOLUMN, JET_ENUMCOLUMNVALUE)로 식별됩니다. 다중값 열은 태그가 지정된 열이어야 합니다. 즉, 고정 길이 또는 가변 길이 열이 아닐 수 있습니다.

JET_bitColumnEscrowUpdate

열이 JetEscrowUpdate 를 사용하여 여러 세션에서 동시에 업데이트할 수 있고 트랜잭션 일관성이 있는 에스크로 업데이트 열임을 지정합니다.

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

  • 에스크로 업데이트 열의 경우 coltyp 멤버를 JET_coltypLong 설정해야 합니다 .

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

  • JET_bitColumnEscrowUpdate JET_bitColumnTagged, JET_bitColumnVersion 또는 JET_bitColumnAutoincrement 결합할 수 없습니다.

JET_bitColumnUnversioned

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

JET_bitColumnMaybeNull

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

JET_bitColumnMaybeNull JET_bitColumnUserDefinedDefault 결합할 수 없습니다.

JET_bitColumnFinalize

사용하지 마십시오. 대신 JET_bitColumnDeleteOnZero 사용합니다.

열을 완료할 수 있습니다. 완료할 수 있는 열은 열이 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에서 삭제 열의 일반적인 용도는 참조 개수 필드입니다. 참조 수가 0으로 떨어지면 레코드가 삭제됩니다. 0에 삭제 열은 에스크로 업데이트 열이어야 합니다.

JET_bitColumnDeleteOnZero JET_bitColumnFinalize 대체합니다.

JET_bitColumnDeleteOnZero JET_bitColumnFinalize 또는 JET_bitColumnUserDefinedDefault 결합할 수 없으며 사용자 정의 기본 열과 함께 사용할 수 없습니다.

szBaseTableName

현재 테이블이 해당 DDL을 상속하는 테이블입니다.

szBaseColumnName

템플릿 테이블의 열 이름입니다.

설명

JET_COLUMNBASEJET_COLUMNDEF 동일한 정보를 많이 포함하지만 기본 테이블을 설명하는 문자열 필드를 추가합니다(계층적 DDL을 사용한 경우).

요구 사항

요구 사항

클라이언트

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

서버

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

머리글

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

유니코드

JET_COLUMNBASE_W(유니코드) 및 ANSI(JET_COLUMNBASE_A)로 구현됩니다.

참고 항목

JET_CALLBACK
JET_COLTYP
JET_COLUMNDEF
JET_COLUMNID
JET_GRBIT
JET_SESID
JET_TABLEID
JET_USERDEFINEDDEFAULT
JetGetColumnInfo
JetGetTableColumnInfo
JetRenameColumn