Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Удаление данных

Читайте также:
  1. II. 12-24. Причина страданий преданных
  2. II. Ввод и редактирование данных
  3. V. Форматирование данных
  4. X. Оператора манипулирования данными. Вставка данных
  5. Адресация данных в процессоре
  6. Анализ и обобщение опыта передовой практики и литературных данных
  7. Архивирование данных об источниках информации

Как и в случае вставки, строки можно удалять по одной или группами. Следую­щий пример удаляет строку с данными о студенте 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 | Нарушение авторских прав


Читайте в этой же книге: ПРИМЕР НОРМАЛИЗАЦИИ | Некоторые комментарии к декомпозиционному алгоритму проектирования | Транзитивные зависимости | Правила вывода | Задачи к текущему материалу | Нормальная форма Бойса—Кодда (НФБК) с примером аномалий для 3 формы | ЯЗЫК SQL | FROM СТУДЕНТ | FROM СТУДЕНТ. ЗАПИСЬ | FROM ЗАПИСЬ В |
<== предыдущая страница | следующая страница ==>
SELECT СТУДЕНТ.Имя| Уточнения запроса

mybiblioteka.su - 2015-2024 год. (0.007 сек.)