update with row_number
-
[SQL] UPDATE 시 ROW_NUMBER() 함수 사용하기DB 2021. 7. 3. 16:44
데이터가 이미 들어있는 테이블을 장고 ORM에 쓰려고 하는데 PK로 지정된 컬럼이 없다는 오류가 발생했다. 그래서 급하게 id 컬럼을 추가하고 ROW_NUMBER() 함수를 통해 id 값을 업데이트하였다. 이 때 구글링으로 찾아서 사용한 SQL문은 아래와 같다. 가정 1. a라는 테이블에 이름과 전화번호 컬럼이 존재한다. 2. 이름을 오름차순으로, 이름이 같은 경우에는 전화번호를 오름차순으로 해서 행 번호를 id 컬럼 값으로 UPDATE한다. 사용한 DBMS는 PostgreSQL이다. UPDATE a SET id = x.id FROM (SELECT name , phone_number , ROW_NUMBER() OVER (ORDER BY name, phone_number) AS id FROM a ORDER..