developer tip

SQL Server : 새 ID 열을 추가하고 열을 ID로 채우는 방법은 무엇입니까?

copycodes 2021. 1. 6. 08:31
반응형

SQL Server : 새 ID 열을 추가하고 열을 ID로 채우는 방법은 무엇입니까?


엄청난 양의 데이터가있는 테이블이 있습니다. 추가 열을 추가 id하고 기본 키로 사용 하고 싶습니다 . 이 열을 1 1에서 값으로 채우는 더 좋은 방법은 무엇입니까?row count

현재 커서를 사용하고 행을 하나씩 업데이트하고 있습니다. 몇 시간이 걸립니다. 더 빨리 할 수있는 방법이 있습니까?

감사합니다


다음과 같이하십시오.

ALTER TABLE dbo.YourTable
ADD ID INT IDENTITY(1,1)

열이 생성되고 integer으로 자동으로 채워집니다 (Aaron Bertrand가 주석에서 지적했듯이-어떤 행이 어떤 값을 가져 오는지 제어 할 수 없습니다-SQL Server가 자체적으로 처리하고 영향을 줄 수 없습니다. 모든 행은 유효한 int을 얻습니다 -어떤 NULL값도 중복 되지 않습니다 ).

다음으로 기본 키로 설정합니다.

ALTER TABLE dbo.YourTable
ADD CONSTRAINT PK_YourTable PRIMARY KEY(ID)

특정 순서로 행 번호를 추가하려면 새 테이블에 ROW_NUMBER ()를 수행 한 다음 원래 테이블을 삭제할 수 있습니다. 그러나 테이블 크기 및 기타 비즈니스 제약 조건에 따라이를 원하지 않을 수도 있습니다. 이것은 또한 테이블 정렬을 원하는 논리가 있음을 의미합니다.

SELECT ROW_NUMBER() OVER (ORDER BY COL1, COL2, COL3, ETC.) AS ID, *
INTO NEW_TABLE
FROM ORIGINAL_TABLE

참조 URL : https://stackoverflow.com/questions/9414826/sql-server-how-to-add-new-identity-column-and-populate-column-with-ids

반응형