Csonka (SQL)
Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2014. június 25-én áttekintett
verziótól ; az ellenőrzések 14 szerkesztést igényelnek .
A TRUNCATE – SQL nyelven – egy művelet a táblázat összes sorának azonnali törlésére. Logikailag hasonló a DELETE művelethez a WHERE záradék nélkül , de gyakorlati helyzetekben különbözik [1] [2] [3] [4] [5] .
Szintaxis
Általános parancs szintaxis:
A TÁBLÁZAT CSONKÍTÁSA < Táblanév >
Egy ilyen parancs végrehajtásának következménye a <TableName> tábla összes sorának teljes törlése .
Különbségek a DELETE utasítástól
A fő különbségek a TRUNCATE és a DELETE utasítások között, amelyek a különböző DBMS -megvalósításokban jelen lehetnek:
- A TRUNCATE művelet nem írja be az eseménynaplóba az egyes sorok törlését. Ennek eredményeként nem tudja aktiválni a triggereket .
- A TRUNCATE műveletet egy implicit COMMIT művelet követi bizonyos DBMS -eknél (például az Oracle ) . Ezért a táblázatból törölt rekordok nem állíthatók vissza a ROLLBACK művelettel . De vannak olyan DBMS-ek is, ahol a TRUNCATE művelet részt vehet a tranzakciókban, például a PostgreSQL és a Microsoft SQL Server .
- A TÖRLÉS művelet zárolja az egyes sorokat, míg a TRUNCATE művelet az egész táblázatot.
- A TRUNCATE művelet nem ad vissza értelmes értéket (általában 0-t ad vissza), ellentétben a DELETE -vel , amely a törölt sorok számát adja vissza.
- A TRUNCATE művelet egyes DBMS -ekben (pl . MySQL vagy Microsoft SQL Server ) alaphelyzetbe állítja a számlálókat (az AUTOINCREMENT / IDENTITY mezők esetében). A PostgreSQL -ben a számlálók visszaállításához a RESTART IDENTITY módosító szükséges.
- A TRUNCATE művelet egyes DBMS -ekben (például a MySQL , a PostgreSQL vagy a Microsoft SQL Server ) nem engedélyezett más táblák idegen kulcsait tartalmazó táblákon. A PostgreSQL-nek azonban van egy CASCADE módosítója, amely lehetővé teszi a TRUNCATE-t ebben a helyzetben - a függő táblák adatai ugyanabban a tranzakcióban törlődnek.
- Az SQLite -nek önmagában nincs művelete, de van a DELETE művelet optimalizálása, amely "jelentősen felgyorsítja a működését, ha nincs WHERE argumentum".
A TRUNCATE utasítás megvalósítása egy adott DBMS választásától függhet. Ezért minden esetben át kell tanulmányozni a kiválasztott rendszer dokumentációját.
Jegyzetek
- ↑ SQL Server Books Online. TRUNCATE TABLE utasítás. . Microsoft. Letöltve: 2014. október 12. Az eredetiből archiválva : 2012. április 25.. (határozatlan)
- ↑ MySQL dokumentáció. TRUNCATE TABLE Szintaxis. . Letöltve: 2010. május 14. Archiválva az eredetiből: 2012. április 25. (határozatlan)
- ↑ Oracle® Database SQL Reference. 10g 2. kiadás (10.2). . Oracle Corp. Letöltve: 2010. május 14. Archiválva az eredetiből: 2012. április 25. (határozatlan)
- ↑ Postgres Pro Standard: Dokumentáció: 9.5: TRUNCATE . postgrespro.ru. Letöltve: 2020. június 7. Az eredetiből archiválva : 2020. június 7. (Orosz)
- ↑ TÖRLÉS . www.sqlite.org. Letöltve: 2020. június 7. Az eredetiből archiválva : 2020. június 17. (határozatlan)
SQL |
---|
Verziók |
- SQL-86
- SQL-89
- SQL-92
- SQL:1999
- SQL:2003
- SQL:2006
- SQL:2008
- SQL:2011
- SQL:2016
|
---|
Kulcsszavak |
|
---|
Kapcsolódó cikkek |
|
---|
Az ISO/IEC SQL részei |
- Keretrendszer
- Alapítvány
- Hívásszintű interfész
- Állandóan tárolt modulok
- Külső adatok kezelése
- Objektumnyelvi kötések
- Információs és definíciós sémák
- SQL rutinok és típusok a Java programozási nyelvhez
- XML-rel kapcsolatos specifikációk
|
---|