2013-01-11 124 views
0

在等同於cx_Oracle.executemany,我可以用來排除?用executemany刪除cx_oracle?

用一個非常簡單的例子即時通訊使用這塊代碼插入數據,但它可能做到刪除條目?

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

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

謝謝你指出。 –

+0

非常歡迎。快樂的編碼。 – bernie