cx_Oracle executemany 与 executemanyprepared

cx_Oracle executemany vs executemanyprepared

我在python

中有这个功能

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()

此方法与游标对象 executemanyprepared 上的 cx_oracle 方法有何不同? https://cx-oracle.readthedocs.io/en/latest/cursor.html

我该如何使用这个方法?

游标方法 executemanyprepared() 仅在您打算传递的数据已经包含在绑定到游标的绑定变量中时使用。通常,只有当您从一个游标获取数据然后将该数据直接绑定到另一个游标时,才会发生这种情况。在所有其他情况下,调用 cursor.executemany() 传递数据将是正确的解决方案。

希望这能回答您的问题!