한 동안 저장 될 수 있기 때문에이 만드는 것입니다 위치를 다음 ID에 매핑하는 테이블
...
UPDATE LocationID SET @nextID = NextID, NextID = NextID + 1 WHERE Location = @Location
...
은 위의 매우 휴대용하지 않을 수 있습니다 당신이 증가 된 값을 받고 끝날 수도 값을 증가하는 동안 저장 프로 시저 내부
CREATE TABLE LocationID {
Location varchar(32) PRIMARY KEY,
NextID int DEFAULT(1)
}
당신은 현재의 값을 업데이 트를하고 드실 수 있습니다 현재의 것 대신에. 원하는대로 열의 기본값을 조정할 수 있습니다.
또 다른주의해야 할 점은 얼마나 자주이 작업을 수행 할 것인지, 다른 저장 프로 시저 또는 응용 프로그램 코드에서 충돌 할 것인지 여부입니다. 다른 저장 프로 시저에서 온 것이면 한 번에 하나씩 사용할 수 있습니다. 애플리케이션 코드에서 값을 치려고한다면, 값의 범위를 잡아 내고 애플리케이션으로 하나씩 옮긴 다음 다른 범위를 잡는 것이 더 나을 것입니다. 응용 프로그램에 여전히 절반 할당 블록이있는 동안 응용 프로그램이 다운되면 시퀀스에 간격이 생길 수 있습니다.
기본 키와 순차 키가 모두 필요합니까? –