DELETE

DELETE weist die folgende Syntax auf:

test=# \h DELETE
Command:     DELETE
Description: delete rows of a table
Syntax:
DELETE FROM [ ONLY ] table
    [ USING usinglist ]
    [ WHERE condition ]

In der WHERE Clause können wir wieder angeben, welche Datensätze wir entfernen wollen:

test=# DELETE FROM t_person WHERE svnr = '9876543';
DELETE 1
test=# SELECT * FROM t_person;
   svnr    |     name
-----------+---------------
 123456789 | Peter Fischer
 123123123 | Anton Hudlic
(2 rows)

In diesem Fall haben wir exakt einen Datensatz entfernt.

Von besonderem Interesse sind auch USING-Clauses. Ohne USING-Clauses ist es nicht möglich, in DELETE Statements Joins zu verwenden. In der USING-Clause können somit Tabellen gelistet werden, die zwar für das Auffinden der Datensätze relevant sind - aus denen allerdings nicht gelöscht werden soll.

Die Implementierungen von INSERT als auch UPDATE und DELETE unterscheiden sich aus der Sicht des Benutzers nur unwesentlich von der Oracle Implementierung. Die bisher gezeigten Beispiele laufen also im Prinzip problemlos auch auf Oracle oder auf anderen Systemen, die den SQL Standard entsprechend unterstützen.



http://www.postgresql.at