Читайте также: |
|
Как и в случае вставки, строки можно удалять по одной или группами. Следующий пример удаляет строку с данными о студенте 100:
DELETE FROM СТУДЕНТ
WHERE СТУДЕНТ.ЛичныйНомер = 100
Обратите внимание, что если студент 100 записан на какие-либо предметы, это удаление вызовет нарушение целостности, поскольку для строк таблицы ЗАПИСЬ, в которых НомерСтудента = 100, не будет соответствующей строки в таблице СТУДЕНТ.
Каким образом можно удалить группу строк, показывают следующие два примера. В них из таблицы ЗАПИСЬ удаляется информация о предметах, на которые записаны студенты, специализирующиеся на бухгалтерском учете, а из таблицы СТУДЕНТ удаляются данные обо всех таких студентах:
DELETE FROM ЗАПИСЬ
WHERE ЗАПИСЬ.НомерСтудента IN
(SELECT СТУДЕНТ.ЛичныйНомер
FROM СТУДЕНТ
WHERE СТУДЕНТ.Специальность = 'Бухгалтерский учет')
DELETE FROM СТУДЕНТ
WHERE СТУДЕНТ.Специальность = 'Бухгалтерский учет'
Порядок выполнения этих операций имеет значение: если бы он был обратным, ни одна строка из таблицы ЗАПИСЬ не была бы удалена, потому что соответствующие строки из таблицы СТУДЕНТ оказались бы уже удаленными.
Модификация данных
Строки можно также модифицировать — по одной или группами. Для изменения значения столбца предназначены ключевые слова UPDATE и SET. После SET указывается имя столбца, значение в котором требуется изменить, а затем новое значение либо способ его вычисления. Рассмотрим два примера:
UPDATE ЗАПИСЬ
SET ПорядковыйНомер = 44
WHERE НомерСтудента = 400
и
UPDATE ЗАПИСЬ
SET ПорядковыйНомер = МАХ(ПорядковыйНомер) + 1
WHERE НомерСтудента = 400
Во втором операторе UPDATE значение столбца вычисляется с помощью встроенной функции МАХ. Некоторые реализации SQL, однако, могут не допускать использования встроенных функций в качестве аргумента команды SET.
Для демонстрации массовых обновлений предположим, что название предмета поменялось с BD445 на BD564. В этом случае, чтобы предотвратить проблемы с целостностью, должны быть изменены как таблица ЗАПИСЬ, так и таблица ПРЕДМЕТ.
UPDATE ЗАПИСЬ
SET НазваниеПредмета = 'BD564'
WHERE НазваниеПредмета = 'ВD445'
UPDATE ЗАНЯТИЯ
SET НазваниеПредмета = 'BD564'
WHERE НазваниеПредмета = 'BD445'
Помните, что массовые обновления могут представлять большую опасность. Пользователю дается огромная власть, которая при правильном ее использовании позволяет быстро выполнить насущную задачу, а если ею распорядиться неверно, может привести к серьезным проблемам.
Дата добавления: 2015-07-08; просмотров: 154 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
SELECT СТУДЕНТ.Имя | | | Уточнения запроса |