세 개의 열로 SQL Server에서 테이블을 만들고 있습니다. 처음 두 열이 하나씩 카운트를 증가 시키길 원합니다. 행이 삽입 될 때 자동으로 1 씩 증가시키는 ID 열로 첫 번째 열을 사용했습니다. 두 번째 열 (SQL Server에서 테이블 당 두 개의 ID 열을 허용하지 않음)에서도 동일한 작업을 수행하려고했습니다. 시퀀스을 사용하여 다른 방법으로 전자를 찾았지만 SQL Server 2008을 사용하고 있기 때문에이 기능이 없습니다.SQL Server 2008에서 두 개의 ID 열
내 작업을 어떻게 수행 할 수 있습니까?
보고서에서 첫 번째 ID 열을 사용 중이고 일부 계산이 완료되면 다시 설정합니다. 예를 들어 20에 도달하면 1 (편집 됨)으로 재설정됩니다. 두 번째 증분 열은 데이터를 정렬하는 데 사용되며 다시 설정하지 않습니다.
create table tblPersons
(
IDCol int primary key identity(1,1),
SortCol int primary key identity(1,1),
Name nvarchar(50)
)
PS : 나는 내 코드에서 20로 IDCol
를 재설정 할 때 때문에 나는 SortCol
에 IDCol
의 값을 복사 할 수 없습니다, 같은 값을 복사합니다 SortCol
은 (대신은 21,22,23 등을 계속한다 on)
감사를 사용할 수 있습니다. IDCol 증가는 20 및 20에서 IDCol 열이 0으로 재설정 될 때까지 제대로 작동합니다.이 문제를 해결하고 0을 피할 수있는 방법에 대한 힌트가 있습니다 (1에서 20까지 반복하여 증가시키고 싶습니다). 스냅 샷 링크는 다음과 같습니다. 아래에 첨부되어 있습니다. 다시 한 번 감사드립니다 스냅 샷 링크 : http://prntscr.com/hrq5zz – Rizwan606
@ Rizwan606 답변을 업데이트했습니다. 1에서 19 사이의 수식으로'(IdCol % 19) +1 '을 사용하고, 20을 치면 카운터가 1로 재설정됩니다. –
'row_number() '와 같은 창 함수를 사용할 수도 있습니다. – Charleh