Vytvorí odstraňovací dotaz na odstránenie záznamov z jedného alebo viacerých tabuliek uvedených v klauzule FROM, ktoré vyhovujú klauzule WHERE.
Syntax
DELETE [tabuľka.*]
Tabuľka
FROM
Kritériá WHERE
Príkaz DELETE pozostáva z týchto častí:
Časť |
Popis |
tabuľka |
Voliteľný názov tabuľky, z ktorej sú odstránené záznamy. |
tabuľka |
Názov tabuľky, z ktorej sú odstránené záznamy. |
kritériá |
To je výraz, ktorý určuje, ktoré záznamy chcete odstrániť. |
Poznámky
Príkaz DELETE je mimoriadne užitočný, ak chcete odstrániť viacero záznamov.
Použitím metódy Execute s príkazom DROP môžete zrušiť celú tabuľku z databázy. Ak tabuľku odstránite, štruktúra sa stratí. Naopak, pri použití príkazu DELETE sa zrušia len údaje; štruktúra tabuľky a všetky jej vlastnosti, ako napríklad atribúty a indexy polí, zostanú nezmenené.
Príkazom DELETE môžete zrušiť záznamy z tabuliek, ktoré s ostatnými tabuľkami majú vzťah „one-to-many“. Kaskádové odstraňovanie môže spôsobiť, že sa odstránia aj tabuľkové záznamy závisiace od záznamov v jednej tabuľke, ktoré sa odstránili. Napríklad vo vzťahu medzi tabuľkami Zákazníci a Objednávky, tabuľka Zákazníci je na strane „one“ a tabuľka Objednávky je na strane „many“ tohto vzťahu. Odstránenie záznamu z tabuľky Zákazníkov povedie k odstráneniu súvisiacich záznamov v tabuľke Objednávky, ak sa zadá možnosť kaskádového odstránenia.
Odstraňovací dotaz odstráni všetky záznamy, nie iba údaje v konkrétnych poliach. Ak chcete odstrániť hodnoty v konkrétnom poli, vytvorte aktualizačný dotaz, ktorý zmení hodnotu na Null.
Dôležité:
-
Navyše, po odstránení záznamov pomocou odstraňovacieho dotazu nie je možné operáciu vrátiť späť. Ak chcete zistiť, ktoré záznamy sa odstránia, najskôr preskúmajte výsledky pre dotaz Select, ktorý používa rovnaké kritériá, a potom spustite odstraňovací dotaz.
-
Vždy si uchovávajte záložné kópie svojich údajov. Ak odstránite nesprávne záznamy, môžete ich znova načítať zo svojich záložných kópií.