PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

psycopg2:atualiza várias linhas em uma tabela com valores de uma tupla de tuplas


Esta postagem me apontou na direção certa. A documentação para extras.execute_values também contém um ótimo exemplo usando o UPDATE cláusula.
c = db.cursor()
update_query = """UPDATE my_table AS t 
                  SET name = e.name 
                  FROM (VALUES %s) AS e(name, id) 
                  WHERE e.id = t.id;"""

psycopg2.extras.execute_values (
    c, update_query, new_values, template=None, page_size=100
)