[Python] Python Script for SQL Server - Update values with MERGE

Discussão em 'Python' iniciado por Stack, Fevereiro 10, 2025.

  1. Stack

    Stack Membro Participativo

    I have this python function which inserts to a SQL database. The script is such that every time it is rerun it will have to insert the same row over again in addition to new rows. Eventually I will be changing this so that it only inserts new rows but for now I have to work with some sort of update statement.

    I'm aware that I can use MERGE in SQL Server to achieve something similar to MySQL's ON DUPLICATE KEY UPDATE, but I'm not exactly sure how it should be used. Any advice is welcome. Thanks!

    def sqlInsrt(headers, values):
    #create string input of mylisth
    strheaders = ','.join(str(i) for i in headers)

    #create string ? param's for INSERT clause
    placestr = ','.join(i for i in ["?" for i in headers])

    #create string ? param's for UPDATE clause
    replacestr = ', '.join(['{}=?'.format(h) for h in headers])

    #Setup and execute SQL query
    insert = ("INSERT INTO "+part+" ("+strheaders+") VALUES ("+placestr+")")
    cursor.execute(insert, values)
    cnx.commit()

    Continue reading...

Compartilhe esta Página