User since
2005-07-27
3
Artikel
BenutzerIn
Hallo!
Ich habe folgendes Problem in einem Perlscript, welches eine PostgreSQL bearbeitet.
Das betroffene Schema hat folgenden Aufbau:
id
doc
cat
doc_rec
cat_rec
time
del
Ein Eintrag in der Relation kann nur via
doc
cat
doc_rec
cat_rec
eindeutig adressiert werden.
ich habe nun in perl folgenes
statement bei prepare:
$sth_upd = $dbhandle->prepare("UPDATE *schema* SET (doc, cat, doc_rec, cat_rec, time, del) VALUES (?,?,?,?,?,?) WHERE doc = ? AND cat = ? AND doc_rec = ? AND cat_rec = ?");
Meine Frage: kann das so funktionieren?
Ich übergebe eben 6 Werte in meinem Do-Statement, wobei die ersten vier den Eintrag eindeutig adressieren die letzten beiden ändern die Werte von doc_rec und cat_rec.
ich habe eben Probleme mein prepare("UPDATE ...") mit Platzhaltern zu bauen, da ich nirgens ein solches Statement mit einer solchen Struktur gefunden habe und ich mich frage, ob das berhaupt so funktionieren kann.
ich bin was PSQL und perl betrifft absoluter Neuling, wäre froh wenn mir jemand hier weiterhelfen könnte.
Gruß MR_B
User since
2003-08-04
14371
Artikel
ModeratorIn
Also wenn es bei Postgres nicht anders als bei anderen DBMS ist, dann lautet die korrekte Syntax für das Update-Statement
[sql]UPDATE table SET doc =?, cat =?, doc_rec =?,... WHERE doc =? AND cat =? AND ...;[/sql]