#!/bin/sh # # \ exec /usr/local/bin/tclsh8.3 $0 $@ package require Pgtcl set conninfo [list user=cz password=*** host=192.168.42.150 dbname=ttickets] set db [pg_connect -conninfo $conninfo] set statements [list "BEGIN work" \ "INSERT INTO usersinfo VALUES ('em', 'Erika', 'Mustermann', '','')" \ "INSERT INTO stati(ticketid, issuedBy, category) VALUES (0, 'em','reopend')" \ "END work" ] # Das erste Einfügen ist erfolgreich, beim zweiten Mal # wird ein Fehler hervorgerufen for {set i 0} {$i < 2} {incr i} { puts "Versuch $i" foreach sql $statements { set handle [pg_exec $db $sql] if {! [regexp OK [pg_result $handle -status]]} { puts stderr "Das Statement $sql war nicht erfolgreich:" puts stderr [pg_result $handle -error] pg_exec $db "ROLLBACK work" } pg_result $handle -clear } } pg_disconnect $db