timestamp(Transact-SQL)

데이터베이스 내에서 자동으로 생성된 고유 이진 숫자를 표시하는 데이터 형식입니다. 일반적으로 timestamp는 버전이 표시되는 테이블 행에 대한 메커니즘으로 사용됩니다. 저장소 크기는 8바이트입니다. timestamp 데이터 형식은 자동으로 증가하는 숫자일 뿐이며 날짜 또는 시간을 보존하지 않습니다. 날짜 또는 시간을 기록하려면 datetime 데이터 형식을 사용합니다.

주의

각 데이터베이스에는 데이터베이스 내에 timestamp 열을 포함하는 테이블에서 수행되는 각 삽입 또는 업데이트 작업에 따라 증가되는 카운터가 있습니다. 이 카운터는 데이터베이스 타임스탬프입니다. 카운터는 시계와 연동되는 실제 시간이 아닌 데이터베이스 내의 상대적 시간을 추적합니다. 한 테이블은 하나의 timestamp 열만 가질 수 있습니다. timestamp 열이 있는 행이 수정되거나 삽입될 때마다 증가된 데이터베이스 타임스탬프 값이 timestamp 열에 삽입됩니다. 이러한 속성 때문에 timestamp 열은 키, 특히 기본 키가 되기 어렵습니다. 행이 업데이트되면 타임스탬프 값이 변경되고 그렇게 되면 키 값도 변경됩니다. 열이 기본 키에 있다면 이전 키 값은 더 이상 유효하지 않으며 이전 값을 참조하는 외래 키도 더 이상 유효하지 않습니다. 테이블이 동적 커서에서 참조되면 업데이트를 할 때마다 커서 안의 행 위치가 변경됩니다. 열이 인덱스 키에 있다면 데이터 행을 업데이트할 때마다 인덱스도 업데이트됩니다.

행의 timestamp 열을 사용하면 행을 마지막으로 읽은 후에 행의 값이 변경되었는지 여부를 쉽게 확인할 수 있습니다. 행이 변경되면 타임스탬프 값이 업데이트됩니다. 행이 변경되지 않았다면 타임스탬프 값이 이전에 읽은 때와 같습니다. 데이터베이스의 현재 타임스탬프 값을 반환하려면 @@DBTS를 사용합니다.

Transact-SQL timestamp 데이터 형식은 SQL-2003 표준에 정의된 timestamp 데이터 형식과 다릅니다. SQL-2003 timestamp 데이터 형식은 Transact-SQL datetime 데이터 형식과 동일합니다.

rowversiontimestamp 데이터 형식의 동의어이며 데이터 형식 동의어의 동작을 따릅니다. DDL 문에서는 가능한 경우 항상 timestamp 대신 rowversion을 사용하십시오. 자세한 내용은 데이터 형식 동의어(Transact-SQL)를 참조하십시오.

CREATE TABLE 또는 ALTER TABLE 문에서 timestamp 데이터 형식에 대한 열 이름을 입력하지 않아도 됩니다. 예를 들면 다음과 같습니다.

CREATE TABLE ExampleTable (PriKey int PRIMARY KEY, timestamp);

열 이름을 지정하지 않을 경우 Microsoft SQL Server 2005 데이터베이스 엔진에서 timestamp 열 이름을 생성하지만 rowversion 동의어는 이 동작을 따르지 않습니다. rowversion을 사용할 때는 반드시 열 이름을 지정해야 합니다.

[!참고] SELECT 목록에 timestamp 열이 있는 SELECT INTO 문을 사용하면 중복된 타임스탬프 값이 생성됩니다. 이와 같은 방법으로 timestamp를 사용하지 않는 것이 좋습니다.

Null을 허용하지 않는 timestamp 열은 기능적으로 binary(8) 열과 같고 Null을 허용하는 timestamp 열은 기능적으로 varbinary(8) 열과 같습니다.

참고 항목

참조

ALTER TABLE(Transact-SQL)
CAST 및 CONVERT(Transact-SQL)
CREATE TABLE(Transact-SQL)
데이터 형식(Transact-SQL)
DECLARE @local\_variable(Transact-SQL)
DELETE(Transact-SQL)
INSERT(Transact-SQL)
MIN_ACTIVE_ROWVERSION (Transact-SQL)
SET @local\_variable(Transact-SQL)
UPDATE(Transact-SQL)

관련 자료

데이터 형식 변환(데이터베이스 엔진)

도움말 및 정보

SQL Server 2005 지원 받기