У инструкции DELETE самая простая запись из трех синтаксических записей инструкций DML. Как и в случае инструкции UPDATE, при написании инструкции DELETE важно не забывать о вставке предложения WHERE.
Если выполнить инструкцию DELETE без предложения WHERE, из таблицы будут удалены все строки.
Как и команды INSERT и UPDATE, инструкция DELETE может удалить строки в одной таблице, основываясь на информации, возвращенной из присоединенной таблицы. Для этого определяется второе предложение FROM.
Пример 1.10. |
Следующая команда удаляет из таблицы ORDER DETAILS (Подробные сведения о заказе) строки с заказами, которые были помещены до 10 июля 1996 г. и были доставлены.
Инструкцию TRUNCATETABLE, как и инструкцию DELETE без предложения WHERE, можно использовать для удаления всех данных из таблицы.
У инструкции TRUNCATETABLE есть несколько отличий от инструкции DELETE.
v Инструкция DELETE регистрирует сведения о каждой удаленной строке, а инструкция TRUNCATETABLE создает только элементы, необходимые для освобождения страниц данных.
v Инструкция TRUNCATETABLE выполняется быстрее.
v Если в таблице есть идентифицирующий столбец, команда TRUNCATETABLE переустанавливает начальное значение, применяемое для идентификации.
Ни инструкция DELETE без предложения WHERE, ни инструкция TRUNCATETABLE не влияют на структуру схемы таблицы или связанных объектов.
В базе данных Mytest добавить новые данные в таблицу Credit (Кредит). Необходимо также обновить и удалить данные из таблицы Credit.
1. Откройте среду Microsoft SQL Server Management Studio (SSMS) и установите соединение с экземпляром сервера SQL Server 2008.
2. В окне создания запроса введите и выполните следующие инструкции SQL для создания базы данных Mytest.
USE master;
GO
IF DB_ID ('Mytest') IS NOT NULL DROP DATABASE Mytest;
GO
CREATE DATABASE Mytest; GO
3. Создайте таблицу Credit в базе данных mytest.
USE Mytest;
GO
CREATE TABLE Credit
(CustomerID int Primary Key IDENTITY
, Firstname char(20) NOT NULL
, Lastname char(20) NOT NULL
, CreditLimit int DEFAULT 0 NOT NULL
, Email char(20) NULL);
4. Откройте окно создания запроса, введите и выполните команду для просмотра таблицы Credit.
USE Mytest;
GO
SELECT * FROM Credit;
5. В текущем окне запроса под имеющимся программным кодом введите, выделите и выполните команду, чтобы вставить в таблицу Credit новую строку, задавая конкретные значения для каждого столбца в соответствии с его относительным местоположением в схеме таблицы.
6. В текущем окне запроса под имеющимся программным кодом введите, выделите и выполните команду, чтобы, задавая конкретные значения для каждого столбца в соответствии с его относительным местоположением в схеме таблицы, вставить в таблицу Credit новую строку, в которой данные представлены не для всех столбцов. В качестве ограничения величины кредита ввести “0” как значение по умолчанию, заданное во время создания таблицы.
7. В текущем окне запроса под имеющимся программным кодом введите, выделите и выполните команду, чтобы, задавая конкретные значения для каждого столбца в соответствии с его относительным местоположением в схеме таблицы, вставить в таблицу Credit еще две новые строки.
8. В текущем окне запроса под имеющимся программным кодом введите, выделите и выполните команду для просмотра строк, добавленных в таблицу.
9. Сохраните сценарий.
В базе данных Mytest обновить данные, введенные в таблицу Credit.
1. Откройте окно создания запроса, введите и выполните команду для добавления адреса электронной почты punya@adatum.com клиента Punya Palit (CustomerID = 4) таблицы Credit.
2. В текущем окне запроса под имеющимся программным кодом введите, выделите и выполните команду для увеличения предельных значений кредита на 500 в каждой строке (столбец CreditLimit).
3. Сохраните сценарий.
Удалить данные, введенные в таблицу Credit в базе данных Mytest. Проверить действие инструкции TRUNCATE TABLE.
1. Откройте окно создания запроса, введите и выполните команды для удаления строки о клиенте Punya Palit таблицы Credit и проверки результатов.
2. В текущем окне запроса под имеющимся программным кодом введите, выделите и выполните команды для удаления всех строк таблицы из таблицы Credit и проверки результатов.
3. В текущем окне запроса под имеющимся программным кодом введите, выделите и выполните команды для того, чтобы вставить новую строку о клиенте Punya Palit в таблицу и проверить результаты.
4. В текущем окне запроса под имеющимся программным кодом введите, выделите и выполните команду для усечения таблицы и переустановки значения свойства IDENTITY столбца CustomerID в его исходное начальное значение с помощью TRUNCATE TABLE.
5. В текущем окне запроса под имеющимся программным кодом введите, выделите и выполните команды для того, чтобы вставить новую строку о клиенте Punya Palit в таблицу и проверить результаты.
6. Сохраните сценарий.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.