用executemany删除cx_oracle?

时间:2013-01-11 21:42:10

标签: python cx-oracle

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

1 个答案:

答案 0 :(得分: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()