Seite 1 von 1

Mehrere Tabellen mit einem Execute UPDATEN mit psycopg2

Verfasst: Mittwoch 14. März 2007, 09:53
von keboo
Hallo Leute,

Kann es sein, dass man nicht gleichzeitig, sprich mit einer Abfrage an die Datenbank mehrere Tabellen Updaten kann?

Wie kann man überprüfen in Python ob ein UPDATE funktioniert hat?

Gibt es sowas wie cur.fetchall() bei einer Select Anweisung auch für UPDATES. Ich will nur eine Boolsche Variable oder irgendsowas in der Art als Rückgabewert, welcher in Python verarbeitbar ist.

Danke für eure Tipps,

Johannes

Re: Mehrere Tabellen mit einem Execute UPDATEN mit psycopg2

Verfasst: Mittwoch 14. März 2007, 12:35
von gerold
keboo hat geschrieben:mit einer Abfrage an die Datenbank mehrere Tabellen Updaten
[...]
Wie kann man überprüfen in Python ob ein UPDATE funktioniert hat?
Hallo Johannes!

Mit ``cur.rowcount`` bekommst du die Anzahl der geänderten/hinzugefügten Zeilen zurück.

Und mehrere Tabellen in einem Rutsch funktioniert auch:

Code: Alles auswählen

>>> import psycopg2
>>> conn = psycopg2.connect(
...     user = "testuser", password = "testuser",
...     database = "testdb", 
... )
>>> cur = conn.cursor()
>>> sql = """
... insert into contacts (number, name) values ('ddd', 'ddd');
... insert into calls (id, number) values (43, 'ddd');
... """
>>> cur.execute(sql)
>>> conn.commit()
>>> 
mfg
Gerold
:-)

Verfasst: Mittwoch 14. März 2007, 13:22
von BlackJack
Ansonsten sollte man, wenn etwas schiefgelaufen ist, natürlich eine Ausnahme bekommen. Wenn man zum Beispiel mit dem ``UPDATE`` bzw. dem anschliessenden `commit()` irgendwelche "constraints" verletzen würde.

Verfasst: Mittwoch 14. März 2007, 15:53
von keboo
Danke!

"cur.rowcount" war genau das was ich gesucht habe.

johannes