sql >> Databáze >  >> RDS >> Oracle

Jak odstranit řádek v oracle

Tento kurz SQL poskytuje vysvětlení a příklady pro Delete from the table v Oracle

Odstranit z tabulky se používá v Oracle Sql k odstranění řádků v tabulce. Jedná se o prohlášení DML (Data Manipulation Language). Používá se k odstranění podmnožiny existujících řádků nebo všech existujících řádků z tabulky.

Zde je syntaxe delete v Oracle

Zde tabulka  je název tabulky a podmínka, která určuje řádky, které mají být smazány   a skládá se ze sloupců, poddotazů a výrazů

Důležité body.

  • Příkaz smazání vyžaduje zámek tabulky
  • Musíme se zavázat k trvalé změně data  (commit;)
  • Můžeme použít příkaz rollback ke zrušení změn příkazu delete ( rollback;)
  • jestliže jsou při smazání definovány spouštěče, spustí se při každém smazaném řádku
  • Pokud chcete zjistit, kolik řádků bude odstraněno z příkazu delete, můžete nejprve spustit příkaz select se stejnou klauzulí where, abyste zjistili počet řádků.

Podívejme se na několik způsobů, jak použít příkaz DELETE

ODSTRAŇTE konkrétní řádky z tabulky nebo Jak odstraním záznam z Oracle

Předpokládejme, že chceme smazat řádky, kde název sloupce =‘JOHN’

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

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

nebo

Předpokládejme, že chceme odstranit oddělení z tabulky oddělení

delete from dept where dept_no= 10;
commit;

Tyto příkazy odstraní všechny řádky obsahující hodnotu konkrétního sloupce. Po dokončení příkazu delete se zobrazí, kolik řádků bylo odstraněno. musíme provést potvrzení, abychom trvale provedli změny.

Pokud nejsou odstraněny žádné řádky, zobrazí se 0 smazaných řádků.

VYMAZAT VŠECHNY řádky z tabulky v Oracle nebo Jak odstraním všechny záznamy z tabulky

Předpokládejme, že chceme odstranit všechny řádky z příkladu tabulky, pak by příkaz byl

Delete from example;

delete from employee;

delete from fnd_users;
commit;

Vymaže všechny řádky z tabulky Oracle a vypíše, kolik řádků bylo odstraněno, což je ve skutečnosti počet v tabulce.

Toto neresetuje horní vodoznak tabulky. a používá undo. Možná budete chtít použít Truncate table v příkazu Oracle, který resetuje HWM (High watermark) a udělá mnohem méně zpět než příkaz delete

ODSTRAŇTE  řádky z tabulky na základě dílčího dotazu v Oracle

Příkaz Delete lze použít s poddotazem k odstranění řádků

Předpokládejme, že chceme odstranit řádky v Emp na základě názvu oddělení v tabulce oddělení, pak by příkaz delete vypadal takto

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

Výše uvedený příkaz by nejprve hledal dept_id z tabulky oddělení, kde dept_name je prodej. a poté odešle dept_id do příkazu delete pro tabulku emp

ODSTRAŇTE  řádky z tabulky pomocí klauzule EXISTS/NOT EXISTS

Toto je další forma mazání pouze pomocí poddotazu. To se používá, když chcete porovnat dvě tabulky a odstranit data

Předpokládejme, že chcete odstranit záznamy z tabulky oddělení, kde není žádný zaměstnanec

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

Doufám, že se vám líbí tento obsah na Jak odstranit řádek v oracle

Související články
Změnit tabulku v Oracle:Změnit tabulku v oracle se používá k úpravě sloupce, zrušení a přidání omezení, změně datového typu sloupce tabulky, změně parametrů úložiště tabulky
Vytvoření globální dočasné tabulky v Oracle
Příkaz Update v oracle:Příkaz Update v oracle používáme k úpravě existujících řádků v tabulce oracle v databázi oracle. Aktualizaci lze provést několika způsoby
DROP TABLE ORACLE:Přečtěte si o zrušení tabulky v Oracle, Zrušte tabulku, pokud existuje v Oracle, zrušte více tabulek jedním příkazem, zrušte kaskádová omezení tabulky
Oracle Vytvořte tabulku:Tabulky jsou základní jednotkou pro ukládání dat v databázi Oracle. zabýváme se tím, jak používat příkaz Oracle create table k vytvoření tabulky s cizím klíčem /primární klíč
Dokumentace Oracle o odstranění
kaskáda mazání Oracle:Podívejte se na tento příspěvek o tom, jak vyřešit ORA-02292 pomocí kaskády Oracle delete s podrobným příkladem a vysvětlením


  1. Poskytovatel není kompatibilní s verzí klienta Oracle

  2. 4 klíčové aktivity monitorování databáze, které by měl znát každý správce databáze

  3. Nahraďte znaky unicode v PostgreSQL

  4. PIVOT v sql 2005