AW: [pgsql-de-allgemein] Mehrere Einträge anhand Primary-Key-Lis te löschen

"Mag. Dr. Stefan Krejci" <[email protected]>
Newsgroups gmane.comp.db.postgresql.german
Message-ID <[email protected]>
Hallo und Danke für eure schnelle Hilfe!

 

> Schau die mal subselects an, damit sollte das kein Problem sein ;)

Hab ich schon, ich hab auch schon mit CTEs gearbeitet etc. Ich bin trotzdem auf keinen grünen Zweig gekommen – ich fürchte, ich stehe scheinbar total auf der Leitung, weil…

 

> Wenn Du die WHERE-Bedingung statt in eine SELECT in eine DELETE packst, werden die Daten
> gleich aus der Datenbank gelöscht. Aber vorsicht - es gibt kein zurück. Was weg ist, ist weg.

…wenn ich diesen Tipp von Susanne übersetze, müsste der Befehl lauten:

 

DELETE

  FROM "Leser" AS l, "LxAbo" AS lxabo

  WHERE ((EXTRACT(YEAR FROM AGE(l."LGebDat")) >= 6) AND

         (l."LID" = lxabo."LxAboLID") AND

         (lxabo."LxAboLAboID" = 'testAboID') AND

         (lxabo."LxAboBibID" = '40922002321'));

 

Aber zwei oder mehrere Tabellen lässt PostgreSQL beim DELETE-Befehl nicht zu. Und wenn ich die Leser-Tabelle weg mache (weil ja aus der LxAbo rausgelöscht werden soll), frisst mir der Parser die WHERE-Clause nicht mehr. Susanne, wie müsste der Befehl denn lauten? Bitte-danke!

 

Danke, Andreas, übrigens für die vereinfachte Alters-Bestimmung ;-) CTEs weiß ich, was sind wCTE? Bei mir läuft aktuell Version 9.0.4 – das Update auf die aktuelle Version möchte ich bald machen, und wäre vermutlich ein weiteres Thema hier, wie ich das korrekt angehe…

 

> I wüŗde keine Zeile eigentlich loschen,aber nur als ´ inactive´ markieren in ´  relationship table´ .

Danke für den Tipp. Ich lösche die Zeilen aus dieser Tabelle hier trotzdem raus, ein Trigger auf DELETE schreibt mir einen passenden Log-Eintrag dazu.

 

Liebe Grüße, Stefan
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.