반응형
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
반응형
'developer tip' 카테고리의 다른 글
C ++로 Unix 타임 스탬프 얻기 (0) | 2021.01.06 |
---|---|
phpMyAdmin에서 저장 프로 시저를 보려면 어떻게해야합니까? (0) | 2021.01.06 |
시간 초과로 셸 함수 실행 (0) | 2021.01.06 |
JavaScript로 Internet Explorer 11 만 타겟팅하려면 어떻게해야합니까? (0) | 2021.01.06 |
PHP를 사용하여 JSON POST 읽기 (0) | 2021.01.06 |