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