Pro-Linux

Pro-Linux Diskussions- und Hilfeforum
Aktuelle Zeit: 15. Nov 2018 3:24

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 1 Beitrag ] 
Autor Nachricht
 Betreff des Beitrags: SQL DELETE Postgres 8.3
BeitragVerfasst: 10. Jul 2008 14:27 
Offline

Registriert: 10. Nov 2006 10:52
Beiträge: 20
Ich habe folgende SQL-Tabellen

t1 mit den Feldern t1_id, t1_inhalt

t2 mit den Feldern t2_id, t2_t1_id, t2_wert

abelle t2 enthält einen Fremdschlüssel auf Tabelle t1 (t2_t1_id)

Nun möchte ich alle Datensätze aus Tabelle t2 löschen mit der Bedingung daß der inhalt von t1_inhallt = 5 ist.

Wenn man in Postgres 8.3 den Schalter add_mising_from=on setzt funktioniert folgender SQL-Befehl:

DELETE FROM t2
WHERE (t2.t2_t1_id=t1.t1_id)
AND t1.t1_inhalt=5
;

Setzt man den Schalter add_missing_from=off wird die Fehlermeldung

Fehlender Eintrag in FROM Klausel für Tabelle t1

ausgegeben.

Kann mir jemand die Syntax mit richtiger FROM Klausel nennen?
Der oben angeführte Schalter ist nur noch aus Kompatibilitätsgründen in der Config und ich möchte den rausnehmen.

Hinweis:
Die in MYSQL ab Version 4 mögliche Syntax:
DELETE T2 FROM t1, t2
WHERE (t2.t2_t1_id=t1.t1_id)
AND t1.t1_inhalt=5
;
geht nicht

und eine Lösung etwa in dieser Form

DELETE FROM t2
WHERE t2.t2_id IN
(
SELECT t2.t2_id FROM t2,t1
WHERE (t2.t2_t1_id=t1.t1_id)
AND t1.t1_inhalt=5
)
;
macht abgesehen von diesem Trivialbeispiel keinen Sinn.


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 1 Beitrag ] 

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de