TRUNCATE — у мовах, подібних до SQL, DDL-операція видалення усіх рядків таблиці. Логічно еквівалентна операції DELETE без оператора WHERE, однак часто виконується швидше та потребує менших ресурсів системи .
Синтаксис
Загальний синтаксис команди:
TRUNCATE TABLE <Ім'я Таблиці>
Наслідком виконання такої команди є повне видалення усіх рядків таблиці <Ім'я таблиці>. Причому сама таблиця залишається (на відміну від команди DROP TABLE)
Відмінності від оператора DELETE
Основні відмінності між операторами TRUNCATE та DELETE, що можуть бути в різних реалізаціях СУБД:
- Операція TRUNCATE не записує до журналу подій (log-файл) видалення окремих рядків. Як наслідок, не активуються тригери.
- Після операції TRUNCATE у деяких СУБД (наприклад, Oracle) відбувається неявна операція COMMIT. Тому видалені з таблиці записи не можна відновити операцією ROLLBACK. Втім, існують і СУБД, в яких операція TRUNCATE може брати участь у транзакціях, наприклад, Microsoft SQL Server.
- Операція DELETE блокує кожний рядок, а TRUNCATE — усю таблицю.
- Операція TRUNCATE не повертає якогось значення (зазвичай повертає 0) на відміну від DELETE, що повертає кількість видалених рядків.
- Операція TRUNCATE, у деяких СУБД (наприклад, у MySQL, де вона еквівалентна послідовності команд DROP TABLE ... та CREATE TABLE ... ), обнуляє значення лічильників (для полів з AUTOINCREMENT).
Загалом, реалізація оператора TRUNCATE може залежати від вибору конкретної СУБД. Тому в кожному випадку слід читати документацію відповідної системи.
Джерела
- Электронная документация по SQL Server 2008 (июль 2009 г.). Оператор TRUNCATE TABLE. Microsoft. Архів оригіналу за 25 квітня 2012. Процитовано 14 травня 2010.
- MySQL Documentation. TRUNCATE TABLE Syntax. Архів оригіналу за 25 квітня 2012. Процитовано 14 травня 2010.
- Oracle® Database SQL Reference. 10g Release 2 (10.2). Oracle Corporation. Архів оригіналу за 25 квітня 2012. Процитовано 14 травня 2010.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
TRUNCATE u movah podibnih do SQL DDL operaciya vidalennya usih ryadkiv tablici Logichno ekvivalentna operaciyi DELETE bez operatora WHERE odnak chasto vikonuyetsya shvidshe ta potrebuye menshih resursiv sistemi SintaksisZagalnij sintaksis komandi TRUNCATE TABLE lt Im ya Tablici gt Naslidkom vikonannya takoyi komandi ye povne vidalennya usih ryadkiv tablici lt Im ya tablici gt Prichomu sama tablicya zalishayetsya na vidminu vid komandi DROP TABLE Vidminnosti vid operatora DELETEOsnovni vidminnosti mizh operatorami TRUNCATE ta DELETE sho mozhut buti v riznih realizaciyah SUBD Operaciya TRUNCATE ne zapisuye do zhurnalu podij log fajl vidalennya okremih ryadkiv Yak naslidok ne aktivuyutsya trigeri Pislya operaciyi TRUNCATE u deyakih SUBD napriklad Oracle vidbuvayetsya neyavna operaciya COMMIT Tomu vidaleni z tablici zapisi ne mozhna vidnoviti operaciyeyu ROLLBACK Vtim isnuyut i SUBD v yakih operaciya TRUNCATE mozhe brati uchast u tranzakciyah napriklad Microsoft SQL Server Operaciya DELETE blokuye kozhnij ryadok a TRUNCATE usyu tablicyu Operaciya TRUNCATE ne povertaye yakogos znachennya zazvichaj povertaye 0 na vidminu vid DELETE sho povertaye kilkist vidalenih ryadkiv Operaciya TRUNCATE u deyakih SUBD napriklad u MySQL de vona ekvivalentna poslidovnosti komand DROP TABLE ta CREATE TABLE obnulyaye znachennya lichilnikiv dlya poliv z AUTOINCREMENT Zagalom realizaciya operatora TRUNCATE mozhe zalezhati vid viboru konkretnoyi SUBD Tomu v kozhnomu vipadku slid chitati dokumentaciyu vidpovidnoyi sistemi DzherelaElektronnaya dokumentaciya po SQL Server 2008 iyul 2009 g Operator TRUNCATE TABLE Microsoft Arhiv originalu za 25 kvitnya 2012 Procitovano 14 travnya 2010 MySQL Documentation TRUNCATE TABLE Syntax Arhiv originalu za 25 kvitnya 2012 Procitovano 14 travnya 2010 Oracle Database SQL Reference 10g Release 2 10 2 Oracle Corporation Arhiv originalu za 25 kvitnya 2012 Procitovano 14 travnya 2010