programing

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

testmans 2023. 6. 24. 08:49
반응형

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

저는 엄청난 양의 데이터가 있는 테이블을 가지고 있습니다.추가 열을 추가하고 싶습니다.id기본 키로 사용합니다.이 열을 하나의 값으로 채우는 더 좋은 방법은 무엇입니까?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

반응형