적용 대상: Windows | Windows Server
JetSetColumnDefaultValue 함수
JetSetColumnDefaultValue 함수를 사용하여 기존 열의 기본값을 변경할 수 있습니다.
JET_ERR JET_API JetSetColumnDefaultValue(
__in JET_SESID sesid,
__in JET_DBID dbid,
__in JET_PCSTR szTableName,
__in JET_PCSTR szColumnName,
__in const void* pvData,
__in const unsigned long cbData,
__in const JET_GRBIT grbit
);
매개 변수
sesid
이 호출에 사용할 세션입니다.
dbid
이 호출에 사용할 데이터베이스입니다.
szTableName
영향을 받을 열이 포함된 테이블의 이름입니다.
szColumnName
기본값이 변경되는 열의 이름입니다.
pvData
새 기본값을 포함하는 입력 버퍼입니다.
cbData
새 기본값을 포함하는 입력 버퍼의 크기입니다.
grbit
다음에 사용하도록 예약됩니다.
반환 값
이 함수는 다음 반환 코드 중 하나를 사용하여 JET_ERR 데이터 형식을 반환합니다. 가능한 ESE 오류에 대한 자세한 내용은 확장 가능한 스토리지 엔진 오류 및 오류 처리 매개 변수를 참조하세요.
반환 코드 |
설명 |
|---|---|
JET_errSuccess |
작업이 성공적으로 완료되었습니다. |
JET_errClientRequestToStopJetService |
JetStopService 호출로 인해 세션과 연결된 instance 모든 작업이 중단되었으므로 작업을 완료할 수 없습니다. |
JET_errColumnIllegalNull |
JET_errNullInvalid 동일합니다. |
JET_errColumnInUse |
이 지정된 열은 현재 인덱스에서 사용되고 있습니다. JetSetColumnDefaultValue 는 인덱스 정의에서 참조되는 열의 기본값을 변경할 수 없습니다. 이렇게 하면 인덱스의 내용이 변경되기 때문입니다. |
JET_errColumnNotFound |
이 테이블에 대해 지정된 열이 없습니다. |
JET_errInstanceUnavailable |
세션과 연결된 instance 해당 데이터의 무결성을 보호하기 위해 모든 데이터에 대한 액세스를 해지해야 하는 심각한 오류가 발생하여 작업을 완료할 수 없습니다. 이 오류는 Windows XP 이상 릴리스에서만 반환됩니다. |
JET_errInvalidDatabaseId |
지정한 데이터베이스 ID가 잘못되었습니다. |
JET_errInvalidName |
지정한 개체 이름 중 하나가 잘못되었습니다. 모든 개체 이름은 동일한 규칙 집합을 준수해야 합니다. 이러한 규칙은 다음과 같습니다.
|
JET_errNotInitialized |
세션과 연결된 instance 아직 초기화되지 않았기 때문에 작업을 완료할 수 없습니다. |
JET_errNullInvalid |
열을 NULL로 설정할 수 없습니다. 이는 다음과 같은 경우 JetSetColumnDefaultValue 에서 발생합니다.
따라서 열의 기본값(뒤로)을 NULL 또는 0 길이 값으로 설정할 수 없습니다. |
JET_errObjectNotFound |
이 데이터베이스에 대해 지정된 테이블이 없습니다. |
JET_errRestoreInProgress |
세션과 연결된 instance 복원 작업이 진행 중이므로 작업을 완료할 수 없습니다. |
JET_errSessionSharingViolation |
두 개 이상의 스레드에 대해 동시에 동일한 세션을 사용할 수 없습니다. 이 오류는 Windows XP 이상 릴리스에서만 반환됩니다. |
JET_errTableInUse |
이 지정된 테이블은 다른 세션에서 사용 중입니다. JetSetColumnDefaultValue 에서는 Windows Server 2003 이전 릴리스에 대한 열의 기본값을 변경하려면 테이블에 대한 단독 액세스 권한이 필요합니다. |
JET_errTermInProgress |
세션과 연결된 instance 종료 중이므로 작업을 완료할 수 없습니다. |
JET_errTransReadOnly |
읽기 전용 트랜잭션의 scope 내에서 업데이트를 시도하는 것은 불법입니다. 읽기 전용 트랜잭션은 JET_bitTransactionReadOnly JetBeginTransaction2 호출을 사용하여 시작된 트랜잭션입니다. 이 오류는 Windows XP 이상 릴리스에서만 반환됩니다. |
JET_errWriteConflict |
다른 세션에서는 이전에 업데이트를 위해 레코드를 잠갔습니다. 이 세션에서 시도한 업데이트가 실패합니다. |
성공하면 지정된 데이터베이스의 지정된 테이블에 있는 지정된 열의 기본값이 새 기본값으로 영구적으로 변경됩니다.
오류가 발생하면 데이터베이스 상태가 변경되지 않습니다.
설명
템플릿 테이블에서 열의 기본값을 변경할 수 없습니다.
데이터베이스 엔진은 긴 텍스트 및 긴 이진 열에 대해 열의 기본값을 255바이트로 자동으로 자립니다.
요구 사항
| 요구 사항 | 값 |
|---|---|
클라이언트 |
Windows Vista, Windows XP 또는 Windows 2000 Professional이 필요합니다. |
서버 |
Windows Server 2008, Windows Server 2003 또는 Windows 2000 Server가 필요합니다. |
머리글 |
Esent.h에서 선언되었습니다. |
라이브러리 |
ESENT.lib를 사용합니다. |
DLL |
ESENT.dll 필요합니다. |
유니코드 |
JetSetColumnDefaultValueW(유니코드) 및 JetSetColumnDefaultValueA(ANSI)로 구현됩니다. |
참고 항목
JET_DBID
JET_ERR
JET_GRBIT
JET_SESID
JetBeginTransaction2
JetStopService