в таблицу служащих нового сотрудника
Рис. 38. Простая модификация
Вставка, зависящая от выборки. Вставить в таблицу служащих нового сотрудника отдела игрушек c именем Генри (Henry), менеджером которого является Ли (Lee), а зарплата такая же, как у служащего с именем Льюис (Lewis). Эта операция представлена на рис. 39. Это пример вставки, зависящей от выборки, поскольку система должна сначала произвести произвести запрос к базе данных для нахождения зарплаты Льюиса, а затем скопировать полученное значение для Генри. Хотя последовательность строк при формулировании операции несущественна, в ней присутствует неявное упорядочение выполнения – вставку нельзя завершить до выполнения запроса.
Рис. 39. Вставка, зависящая от выборки
Удаление, зависящее от выборки. Удалить всех служащих, работающих в отделе продажи ручек. Эта операция показана на рис. 40. Заполнение поля NAME, SAL, MGR элементами примера здесь не требуется, хотя и не запрещается.
Рис. 40. Удаление, зависящее от выборки
Модификации, зависящие от выборки. Часто требуется модифицировать некоторое поле на основе его предыдущего значения. Это делается неявным образом. Пример: повысить зарплаты служащих отдела игрушек на 10 процентов. Эта операция показана на рис. 41. Выражение в поле SAL в строке, содержащей U. задает новое значение зарплаты; вторая строка специфицирует выборку прежнего значения. Операцию можно переформулировать следующим образом: выбрать запись со значением TOY в поле DEPT, найти значение поля зарплаты
S1 и изменить его на новое, равное 1,1*
S1.
Рис. 41. Модификации, зависящие от выборки
Поскольку результатом выборки из отношения (таблицы) также является некоторое отношение (таблица), то пользователь может оперировать непосредственно с такой таблицей. Например, получив результат выборки всех служащих отдела игрушек, он может удалить любую запись, поставив напротив нее символ операции D. и нажав клавишу ENTER.
Содержание Назад Вперед