2017-10-06 7 views
1

J'ai cette fonction en pythoncx_Oracle executemany vs executemanyprepared

def insert_multi(connection, stmt, data): """ insert multiple records with executemany :param connection: cx_oracle connection :param stmt: prepared insert statement :param data: insert data :return: """ cur = connection.cursor() cur.prepare(stmt) cur.executemany(None, data) connection.commit() cur.close()

Comment cette approche diffère de la méthode cx_Oracle sur un objet curseur executemanyprepared? https://cx-oracle.readthedocs.io/en/latest/cursor.html

Comment utiliser cette méthode?

Répondre

1

La méthode cursor executemanyprepared() est uniquement destinée à être utilisée lorsque les données que vous avez l'intention de passer sont déjà déjà incluses dans les variables de liaison liées au curseur. En règle générale, cela ne se produit que si vous récupérez un curseur et reliez ensuite directement ces données à un autre curseur. Dans toutes les autres situations, appeler cursor.executemany() en passant les données va être la bonne solution.

L'espoir qui répond à votre question!