sql >> Databasteknik >  >> RDS >> Oracle

Hur man tar bort en rad i Oracle

Denna SQL-handledning ger förklaringar, exempel för Ta bort från tabellen i Oracle

Ta bort från tabell används i Oracle SQL för att ta bort raderna i tabellen. Det är ett DML (Data Manipulation Language) uttalande. Den används för att ta bort delmängden av befintliga rader eller alla befintliga rader från tabellen.

Här är raderingssyntaxen i Oracle

Här är tabellen tabellnamnet och villkoret som anger raderna som ska raderas   och den består av kolumner, underfrågor och uttryck

Viktigt.

  • Ta bort uttalande kräver ett lås på bordet
  • Vi måste göra commit för att permanent ändra datum  (commit;)
  • Vi kan använda kommandot rollback för att ångra ändringarna av delete-satsen ( rollback;)
  • om utlösare har definierats vid borttagning kommer de att aktiveras för varje raderad rad
  • om du vill ta reda på hur många rader som kommer att tas bort från delete-satsen, kan du först aktivera select-satsen med samma where-sats för att ta reda på antalet rader

Låt oss ta några sätt att använda DELETE-satsen

RADERA specifika rader från tabellen eller Hur tar jag bort en post från Oracle

Anta att vi vill ta bort raderna där kolumnnamn=’JOHN’

delete from emp where name='JOHN';
commit;

or 
delete from emp where name='JOHN';
rollback;

eller

Anta att vi vill ta bort en avdelning från avdelningstabellen

delete from dept where dept_no= 10;
commit;

Dessa uttalanden kommer att radera alla rader som innehåller det specifika kolumnvärdet. När delete-satsen är klar visas hur många rader som har tagits bort. vi måste förbinda oss att permanent göra ändringarna.

Om inga rader raderas kommer det att visa 0 rader borttagna.

RADERA ALLA rader från tabellen i Oracle eller hur tar jag bort alla poster från tabellen

Anta att vi vill ta bort alla rader från tabellexemplet, då skulle satsen vara

Delete from example;

delete from employee;

delete from fnd_users;
commit;

Det kommer att ta bort alla rader från orakeltabellen och skriva ut hur många rader som raderas, vilket faktiskt är tabellens antal.

Detta återställer inte tabellens högvattenmärke. och den använder ångra. Du kanske vill använda Truncate-tabellen i Oracle-kommandot som återställer HWM (High watermark) och gör mycket mindre ångra än delete-satsen

RADERA rader från tabellen baserat på underfråga i Oracle

Delete-satsen kan användas med en underfråga för att radera raderna

Anta att vi vill ta bort raderna i Emp baserat på avdelningens namn i avdelningstabellen, då skulle delete-satsen se ut som

delete from emp where dept_id = (select dept_id from dept where dept_name='SALES');
commit;

Ovanstående uttalande skulle först leta efter dept_id från dept-tabellen där dept_name är försäljning. och sedan matar den dept_id till delete-satsen för emp-tabellen

TA BORT rader från tabellen med EXISTS/NOT EXISTS-satsen

Detta är en annan form av radering endast med hjälp av subquery. Detta används när du vill jämföra två tabeller för att radera data

Anta att du vill ta bort poster från avd-tabellen där det inte finns någon anställd

delete from
FROM dept d
WHERE NOT EXISTS
(SELECT * FROM emp e
WHERE d.dept_id
= e.dept_id);
commit;

Jag hoppas att du gillar det här innehållet på Hur man tar bort en rad i Oracle

Relaterade artiklar
Ändra tabell i Oracle :Ändra tabell i Oracle används för att modifiera en kolumn, släppa och lägga till begränsningar, ändra datatypen för tabellkolumnen, ändra tabelllagringsparametrarna
Skapa en global temporär tabell i Oracle
Uppdatera uttalande i Oracle :Vi använder Update-satsen i Oracle för att modifiera de befintliga raderna i Oracle-tabellen i Oracle-databasen. En uppdatering kan utföras på flera sätt
DROP TABLE ORACLE:Lär dig mer om släpptabell i Oracle, släpp tabell om det finns i Oracle, släpp flera tabeller i ett kommando, släpp tabellkaskadbegränsningar
Oracle Skapa tabell:Tabeller är den grundläggande enheten för datalagring i en Oracle-databas. vi täcker hur man använder Oracle create table-kommandot för att skapa en tabell med en främmande nyckel /primärnyckel
Oracle-dokumentation om radering
oracle delete-kaskad:Läs det här inlägget om hur du löser ORA-02292 med Oracle delete-kaskad med detaljerat exempel och förklaring


  1. PostgreSQL - Ersätt HTML-entiteter

  2. Hur man väljer en delsträng i Oracle SQL upp till ett specifikt tecken?

  3. Hur ställer man in en länkad server till en Oracle-databas på SQL 2000/2005?

  4. Hur man hittar waitevent History of the Oracle-session