SQL Syntax vereinfachen
Verfasst: Freitag 11. März 2011, 15:13
Ich möchte Werte aus einer Tabelle holen, damit diese neu berechnet werden können und diese dann wieder zurück schreiben. Meine Routine sieht wie folgt aus und funktioniert auch:
Allerdings bin ich damit irgendwie nicht zu frieden. Das ganze sieht eher doppelt gemoppelt aus und ziemlich unübersichtlich. Bin recht neu in der Datenbankprogrammierung und fand eigentlich die Übergabe mit einem Dictionary immer ganz Vorteilhaft. Des weiteren versuche ich mir einen eigener maßen Programmierstil anzugewöhnen. Daher meine Frage, würdest Ihr, Datenbankabfragen genau so schreiben?
Code: Alles auswählen
def makeNextAuftrag (werte):
ergebnis = getAuftragById (werte)
connection = opendb()
cursor = connection.cursor()
for row in ergebnis:
pass
auftrag = schedaddle.next ((int (row[1]), int (row[2]), int (row[3]),
int (row[4]), int (row[5])),
str (row[6])
)
werte = {
"auftrags_id" : row [0],
"year_next" : auftrag [0],
"month_next" : auftrag [1],
"day_next" : auftrag [2],
"hour_next" : auftrag [3],
"minute_next" : auftrag [4]
}
# errechnete werte zurück in die tabelle schreiben
cursor.execute ("""update auftraege set
year_next=:year_next, month_next=:month_next, day_next=:day_next,
hour_next=:hour_next, minute_next=:minute_next
where auftrags_id=:auftrags_id""", werte )
connection.commit ()