sql >> Database teknologi >  >> RDS >> Oracle

Sådan sletter du en række i oracle

Denne SQL-tutorial giver forklaringer, eksempler på Slet fra tabellen i Oracle

Slet fra tabel bruges i Oracle SQL til at slette rækkerne i tabellen. Det er en DML-erklæring (Data Manipulation Language). Det bruges til at slette undersættet af eksisterende rækker eller alle eksisterende rækker fra tabellen.

Her er slettesyntaksen i Oracle

Her er tabellen det tabelnavn og -betingelse, der angiver de rækker, der skal slettes   og denne er sammensat af kolonner, underforespørgsler og udtryk

Vigtige punkter.

  • Slet erklæring kræver en lås på bordet
  • Vi er nødt til at forpligte os til permanent at ændre datoen  (commit;)
  • Vi kan bruge rollback-kommandoen til at fortryde ændringerne af delete-sætningen ( rollback;)
  • hvis udløsere ved sletning er defineret, udløses de for hver slettet række
  • hvis du vil finde ud af, hvor mange rækker der vil blive slettet fra delete-sætningen, så kan du først affyre select-sætningen med den samme where-sætning for at finde ud af antallet af rækker

Lad os tage et par måder at bruge DELETE-sætningen på

SLET specifikke rækker fra tabellen eller hvordan sletter jeg en post fra Oracle

Antag, at vi ønsker at slette rækkerne, hvor kolonnenavnet ='JOHN'

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

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

eller

Antag, at vi ønsker at slette en afdeling fra afdelingstabellen

delete from dept where dept_no= 10;
commit;

Disse udsagn vil slette alle rækker, der indeholder den pågældende kolonneværdi. Når slettesætningen er fuldført, viser den, hvor mange rækker der er slettet. vi er nødt til at forpligte os til permanent at foretage ændringerne.

Hvis ingen rækker er slettet, vil den vise 0 rækker slettet.

SLET ALLE rækker fra tabellen i Oracle eller hvordan sletter jeg alle poster fra tabellen

Antag, at vi ønsker at slette alle rækker fra tabeleksemplet, så ville sætningen være

Delete from example;

delete from employee;

delete from fnd_users;
commit;

Det vil slette alle rækkerne fra orakeltabellen og udskrive, hvor mange rækker der er slettet, hvilket faktisk er tabellens antal.

Dette nulstiller ikke tabellens High vandmærke. og den bruger fortryd. Du vil måske bruge Truncate-tabellen i Oracle-kommandoen, som nulstiller HWM (Højt vandmærke) og gør meget mindre fortryd end delete-sætning

SLET  rækker fra tabellen baseret på underforespørgsel i Oracle

Slet-sætning kan bruges med en underforespørgsel til at slette rækkerne

Antag, at vi ønsker at slette rækkerne i Emp baseret på afd.navnet i afd.tabellen, så ville delete-sætning være som

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

Ovenstående erklæring ville først lede efter dept_id fra dept-tabellen, hvor dept_name er salg. og derefter feeds dept_id til delete-sætningen for emp-tabellen

SLET  rækker fra tabellen ved hjælp af EXISTS/NOT EXISTS-sætning

Dette er en anden form for sletning ved kun at bruge underforespørgsel. Dette bruges, når du vil sammenligne to tabeller for at slette dataene

Antag, at du vil slette poster fra afdelingstabellen, hvor der ikke er nogen medarbejder

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

Jeg håber, du kan lide dette indhold om Sådan sletter du en række i oracle

Relaterede artikler
Ændre tabel i Oracle :Ændre tabel i Oracle bruges til at ændre en kolonne, slippe og tilføje begrænsninger, ændre datatypen for tabelkolonnen, ændre tabellagringsparametrene
Oprettelse af en global midlertidig tabel i Oracle
Opdater sætning i oracle:Vi bruger opdateringssætning i oracle til at ændre de eksisterende rækker i oracle-tabellen i oracle-databasen. En opdatering kan udføres på flere måder
DROP TABLE ORACLE:Lær om drop table i Oracle, Drop table, hvis det findes i Oracle, slip flere tabeller i én kommando, drop table cascade constraints
Oracle Create table:Tabeller er den grundlæggende enhed for datalagring i en Oracle-database. vi dækker, hvordan man bruger Oracle create table-kommando til at oprette en tabel med en fremmednøgle /primær nøgle
Oracle-dokumentation om sletning
oracle delete cascade:Tjek dette indlæg om, hvordan man løser ORA-02292 ved hjælp af Oracle delete cascade med detaljeret eksempel og forklaring


  1. DevOps-databaseordliste til MySQL-begynderen

  2. TODATETIMEOFFSET() Eksempler i SQL Server

  3. Indlæs Postgres-dump efter docker-compose up

  4. Installation af MySQL Python på Mac OS X