다음을 통해 공유


JET_COLUMNCREATE 구조체

적용 대상: Windows | Windows Server

JET_COLUMNCREATE 구조체

JET_COLUMNCREATE 구조체는 데이터베이스에서 만들 열을 설명합니다.

    typedef struct tag_JET_COLUMNCREATE {
      unsigned long cbStruct;
      tchar* szColumnName;
      JET_COLTYP coltyp;
      unsigned long cbMax;
      JET_GRBIT grbit;
      void* pvDefault;
      unsigned long cbDefault;
      unsigned long cp;
      JET_COLUMNID columnid;
      JET_ERR err;
    } JET_COLUMNCREATE;

멤버

cbStruct

구조체의 크기(바이트)입니다. 이 필드는 sizeof( JET_COLUMNCREATE )로 초기화해야 합니다.

szColumnName

만들 열의 이름입니다. 이름은 다음 조건을 충족해야 합니다.

  • 종료 NULL을 포함하지 않고 길이가 JET_cbNameMost 문자보다 적어야 합니다.
  • 0부터 9까지의 문자, A부터 Z까지의 문자와 느낌표(!), 쉼표(,), 여는 대괄호([) 및 닫는 대괄호(]),즉, ASCII 문자 0x20, 0x2d 통해 0x22, 0x5a 0x2f, 0x5c 0x5d 0x5d 0x7f 제외한 모든 문장 부호 집합의 문자만 포함되어야 합니다.
  • 공백으로 시작할 수 없습니다.
  • 공백이 아닌 문자를 하나 이상 포함해야 합니다.

coltyp

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

cbMax

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

grbit

이 구조체에 대한 옵션을 포함하고 다음 값 중 0개 이상을 포함하는 비트 그룹입니다.

의미

JET_bitColumnFixed

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

JET_bitColumnTagged

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

JET_bitColumnNotNULL

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

JET_bitColumnAutoincrement

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

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

Windows Server 2003 이상: 이 비트는 JET_coltypLong 또는JET_coltypCurrency 형식의 열에서만 사용할 수 있습니다.

JET_bitColumnUpdatable

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

JET_bitColumnTTKey

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

JET_bitColumnTTDescending

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

JET_bitColumnMultiValued

열은 다중값일 수 있습니다. 다중값 열에는 0개 이상의 값이 연결될 수 있습니다. 다중값 열의 다양한 값은 다양한 구조의 itagSequence 멤버(예: JET_RETINFO, JET_SETINFO, JET_SETCOLUMN, JET_RETRIEVECOLUMN, JET_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 제공됩니다. 사용자 정의 기본값이 있는 열은 태그가 지정된 열이어야 합니다. 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 사용자 정의 기본 열과 함께 사용할 수 없습니다.

pvDefault

열의 기본값이 될 버퍼를 가리킵니다. 버퍼의 길이는 cbDefault입니다. 기본값이 없으면 pvDefault 를 NULL로 설정하고 cbDefault 를 0으로 설정해야 합니다. grbit이 JET_bitColumnUserDefinedDefault 설정된 경우 pvDefault는 JET_USERDEFINEDDEFAULT 구조체에 대한 포인터로 해석됩니다. 기본값은 255바이트보다 클 수 없습니다. 기본값이 255바이트보다 크면 자동으로 잘립니다.

cbDefault

pvDefault로 지정된 버퍼의 크기(바이트)입니다.

cp

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

columnid

성공하면 새로 만든 열의 열 식별자가 이 필드에 다시 전달됩니다. 실패 시 값이 정의되지 않습니다.

err

err 필드에는 이 열을 만드는 상태 포함됩니다. 가능한 반환 값 목록은 JetAddColumn 을 참조하세요.

요구 사항

요구 사항

클라이언트

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

서버

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

머리글

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

유니코드

JET_COLUMNCREATE_W(유니코드) 및 ANSI(JET_COLUMNCREATE_A)로 구현됩니다.

참고 항목

JET_COLTYP
JET_COLUMNID
JET_ERR
JET_GRBIT
JET_RETINFO
JET_SETINFO
JET_SETCOLUMN
JET_RETRIEVECOLUMN
JET_ENUMCOLUMNVALUE
JetAddColumn
JetCreateTableColumnIndex
JetCreateTableColumnIndex2
JetEscrowUpdate
JetRenameColumn
JetSetColumns