【问题标题】:cx_oracle deleting with executemany?cx_oracle 用 executemany 删除?
【发布时间】:2012-12-26 13:32:15
【问题描述】:

与 cx_Oracle.executemany 等效,我可以用什么来排除?

通过一个非常简单的示例,我使用此代码块插入数据,但它可以用于删除条目吗?

try:

    con = None

    con = cx_Oracle.connect(uid , pwd, dsn)
    cur = con.cursor()
    cur.executemany(sql,params)
    con.commit()

except cx_Oracle.DatabaseError, e:

        print 'Error %s' % e
        sys.exit(1)

finally:

    if con:

        con.close()

【问题讨论】:

    标签: python cx-oracle


    【解决方案1】:

    DB-API 支持使用executemany() 删除多行。我手边没有 Oracle 数据库,但下面是一个使用 SQLite 测试过的示例:

    import sqlite3
    conn = sqlite3.connect(':memory:')
    conn.execute('create table t (c);')
    conn.executemany("insert into t values (?);", ('a','b','c',))
    conn.execute('select c from t;').fetchall()
    # -> [(u'a',), (u'b',), (u'c',)]
    conn.executemany('delete from t where c = ?;', ('a','b',))
    conn.execute('select c from t;').fetchall()
    # -> [(u'c',)]
    conn.close()
    

    【讨论】:

      猜你喜欢
      • 2011-10-01
      • 2013-12-22
      • 2018-08-05
      • 2023-03-28
      • 2019-05-02
      • 2021-09-18
      • 2020-03-04
      • 2014-05-03
      • 2021-07-17
      相关资源
      最近更新 更多