Adatok törlése

Befejeződött

Ahogyan az INSERT utasítás mindig egész sorokat ad hozzá egy táblához, a DELETE utasítás mindig eltávolítja a teljes sorokat.

Adott sorok eltávolítása a DELETE használatával

A DELETE egy sorkészleten működik, amelyet egy WHERE záradékban szereplő feltétel határoz meg, vagy egy illesztésben definiál. A DELETE utasítás WHERE záradékának struktúrája megegyezik a SELECT utasítás WHERE záradékával.

Feljegyzés

Fontos szem előtt tartani, hogy a megfelelő WHERE záradék nélküli DELETE eltávolítja az összes sort egy táblából. Óvatosan használja a DELETE utasítást.

Az alábbi kód a DELETE utasítás alapszintaxisát mutatja be:

DELETE [FROM] <TableName>
WHERE <search_conditions>;

Az alábbi példa a DELETE utasítás használatával távolítja el az összes terméket a megadott táblából, amely megszűnt. A táblában van egy megszűntnek nevezett oszlop, és a már nem elérhető termékek esetében az oszlop értéke 1.

DELETE FROM Production.Product
WHERE discontinued = 1;

A TRUNCATE TABLE használata az összes sor eltávolításához

A DELETE where záradék nélkül eltávolítja az összes sort egy táblából. Emiatt a DELETE-t általában feltételesen használják, a WHERE záradékban egy szűrővel. Ha valóban el szeretné távolítani az összes sort, és üres táblát szeretne hagyni, használhatja a TRUNCATE TABLE utasítást. Ez az utasítás nem engedélyezi a WHERE záradékot, és mindig eltávolítja egy művelet összes sorát. Például:

TRUNCATE TABLE Sales.Sample;

A TRUNCATE TABLE hatékonyabb, mint a DELETE, ha az összes sort el szeretné távolítani.