Имя: Пароль:
1C
 
Удаление содержимого таблицы SQL
0 ПрОнИк33
 
04.03.09
09:11
Как правильно удалить содержимое скульной таблицы?
Использую такой вариант, но не получается:
DELETE * FROM "Название таблицы"
1 butterbean
 
04.03.09
09:12
можно вроде без *
2 Mikeware
 
04.03.09
09:15
(0) А книжки читать не пробовал?
3 los_hooliganos
 
04.03.09
09:17
Инструкция TRUNCATE TABLE представляет собой быстрый и эффективный метод удаления всех строк в таблице. Инструкция TRUNCATE TABLE похожа на инструкцию DELETE без предложения WHERE. Однако инструкция TRUNCATE TABLE быстрее, и она использует меньшее количество системных ресурсов и ресурсов, связанных с журналом транзакций.

По сравнению с инструкцией DELETE инструкция TRUNCATE TABLE обладает следующими преимуществами.

Для журнала транзакций используется меньшее количество памяти.

Инструкция DELETE производит удаление по одной строке и заносит в журнал транзакций запись для каждой удаляемой строки. Инструкция TRUNCATE TABLE удаляет данные, освобождая страницы данных, используемые для хранения табличных данных, и записывает в журнал транзакций только данные об освобождении страниц.


Обычно используется меньшее количество блокировок.

Если инструкция DELETE выполняется с блокировкой строк, для удаления блокируется каждая строка таблицы. Инструкция TRUNCATE TABLE всегда блокирует таблицу и страницу, но не каждую строку.


Все без исключения нулевые страницы остаются в таблице.

После выполнения инструкции DELETE в таблице могут все еще оставаться пустые страницы. Например, пустые страницы в куче не могут быть освобождены, по крайней мере, без монопольной блокировки таблицы (LCK_M_X). Если операция удаления не использует блокировку таблицы, таблица (куча) будет содержать множество пустых страниц. Для индексов операция удаления может оставлять пустые страницы, хотя эти страницы будут быстро освобождены в процессе фоновой очистки.


Так же, как и при выполнении инструкции DELETE, определение таблицы, очищенной с помощью операции TRUNCATE TABLE, остается в базе данных вместе со своими индексами и другими связанными объектами. Если таблица содержит столбец идентификаторов, счетчик этого столбца сбрасывается до начального значения, определенного для этого столбца. Если начальное значение не задано, используется значение по умолчанию, равное 1. Чтобы сохранить столбец идентификаторов, используйте инструкцию DELETE.



Синтаксис

TRUNCATE TABLE
   [ { database_name.[ schema_name ]. | schema_name . } ]
   table_name
[ ; ]


Аргументы
database_name
Имя базы данных.

schema_name
Имя схемы, которой принадлежит таблица.

table_name
Имя таблицы, которая должна быть усечена, или таблицы, из которой удаляются все строки.
4 ПрОнИк33
 
04.03.09
09:26
(3) Спасибо
5 Vippi
 
04.03.09
09:28
Следующим вопросом будет "Восстановление содержимого таблицы SQL"
6 ПрОнИк33
 
04.03.09
09:42
(5) Восстановление я уже делал и копирование. Бэкап рулит.
7 ДенисЧ
 
04.03.09
09:43
DROP Table
CREATE Table
8 los_hooliganos
 
04.03.09
11:59
(7) а поля кто прописывть будет?
9 ДенисЧ
 
04.03.09
12:00
(8) В create table всё пропишешь
10 los_hooliganos
 
04.03.09
12:00
(9) шутник
Ошибка? Это не ошибка, это системная функция.