Delete support

This commit is contained in:
Friedrich Lindenberg 2012-07-23 15:27:51 +02:00
parent ddcdfea48f
commit f74ef1d33c
2 changed files with 16 additions and 1 deletions

View File

@ -3,7 +3,7 @@ from sqlaload.schema import connect
from sqlaload.schema import create_table, load_table, get_table, drop_table
from sqlaload.schema import create_column
from sqlaload.write import add_row, update_row
from sqlaload.write import upsert, update
from sqlaload.write import upsert, update, delete
from sqlaload.query import distinct, resultiter, all, find_one, find
from sqlaload.util import dump_csv

View File

@ -42,3 +42,18 @@ def update(engine, table, criteria, values, ensure=True, types={}):
q = q.where(table.c[column]==value)
engine.execute(q)
def delete(engine, table, **kw):
_ensure_columns(engine, table, kw)
qargs = []
try:
for col, val in kw.items():
qargs.append(table.c[col]==val)
except KeyError:
return
q = table.delete()
for k, v in kw.items():
q= q.where(table.c[k]==v)
engine.execute(q)