The DB-API supports deleting multiple rows using executemany()
. I do not have an Oracle database handy, but below is a tested example using 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()