programmera.net -> oracle -> normal     för utskrift      info@programmera.net

DELETE i Oracle

1. DELETE
2. DELETE med FOREIGN KEY CONSTRAINTS

1. DELETE

Om man vill ta bort "fluffy" ur tabellen animals gör man såhär:
SQL> DELETE FROM animals WHERE name='fluffy';
1 row deleted.
I detta fall försvinner endast en rad, men om man inte skriver WHERE-delen kommer alla rader att försvinna:
SQL> DELETE FROM animals;  
3 row deleted.
SQL> SELECT * FROM animals;
no rows selected.
Tabellen är nu tom.

2. DELETE med FOREIGN KEY CONSTRAINTS

Om man försöker ta bort en rad där den primära nyckeln finns med som främmande nyckel i en annan tabell kommer man få problem. Två olika fall uppkommer:

  1. Om det ligger ett FOREIGN KEY CONSTRAINT på den främmande nyckeln kommer DELETE-satsen avbrytas och man får en felutskrift.
  2. Annars går DELETE-satsen igenom, och databasen innehåller nu ett fel.