이 문서에서는 PostgreSQL 데이터베이스에서 단일 쿼리를 사용하여 여러 데이터 행을 업데이트하는 방법을 살펴봅니다. PostgreSQL은 여러 행을 직접 업데이트하는 것을 지원하지 않지만 이 목표를 달성하는 방법에는 여러 가지가 있습니다.
한 가지 접근 방식은 UPDATE ... FROM
구문과 매핑 테이블을 조합하여 사용하는 것입니다. 이를 통해 여러 열을 업데이트할 수 있고 유연성이 향상됩니다. 다음 코드는 이 접근 방식을 보여줍니다.
<code class="language-sql">UPDATE test AS t SET column_a = c.column_a FROM (VALUES ('123', 1), ('345', 2) ) AS c(column_b, column_a) WHERE c.column_b = t.column_b;</code>
필요에 따라 더 많은 열을 추가할 수 있습니다.
<code class="language-sql">UPDATE test AS t SET column_a = c.column_a, column_c = c.column_c FROM (VALUES ('123', 1, '---'), ('345', 2, '+++') ) AS c(column_b, column_a, column_c) WHERE c.column_b = t.column_b;</code>
또 다른 깔끔한 접근 방식은 삽입 및 업데이트 기능을 단일 쿼리로 결합한 PostgreSQL의 INSERT ... ON CONFLICT ... UPDATE
구문을 사용하는 것입니다. 그러나 이 방법을 사용하려면 업데이트할 행을 식별하는 열에 고유 인덱스를 만들어야 합니다.
위 내용은 단일 PostgreSQL 쿼리에서 여러 행을 업데이트하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!