Данная операция крайне необходим, когда нужно включить сформиро ванные записи в заранее созданную таблицу с семейством разработанных для нее экранных форм и отчетов. Использование в таком случае операции RENAME для получения из ANSWER таблицы с заданным именем приводит к уничтожению таблицы для которых генерировались формы и отчеты со всем семейством ее объектов.
INSERT-запрос обычно выполняется с использованием образцов.
Чтобы задать такой запрос, необходимо заполнить бланк для одной или нескольких таблиц источников, из которых будет получена информация, и таблицу-цель ‑ в которую будут добавлены записи. Оператор INSERT указывается в самом крайнем левом поле таблицы-цели. В другие поля соответствующего бланка вводятся выражения, представляющие значения, из которых формируются включаемые записи. Такие выражения могут содержать:
¨ элементы примеров, которые определяются в таблицах источниках,
¨ константы,
¨ переменные.
Поля, в которые не вводятся выражения будут после выполнения запроса пустыми.
При реализации INSERT-запроса записи добавляются в таблицу-цель, а таблицы источники не изменяются. По результатам выполнения запроса формируется временная таблица INSERTED, которая содержит включенные записи.
Пример INSERT-запроса приведен на рис. 6б.
GROUPS FAC
+---------------------------------+ +---------------+
¦FAC ¦ SPEC ¦ Y ¦ STG ¦ QST ¦ ¦ CF ¦ NFAC ¦
-+----+-------+----+-------+-------¦ ¦-------+-------¦
¦ F ¦ ¦ ¦ G ¦ ST ¦ ¦ F ¦ NF ¦
+---------------------------------+ +---------------+
STRFAC
+-------------------------------------+
¦ ¦ NFAC ¦ GR ¦ QST ¦
+-----------+---------+-------+-------¦
¦ INSERT ¦ S ¦ G ¦ ST ¦
+-------------------------------------+
Рисунок 6б.5
Операция DELETE.
Ключевое слово "Delete" в левой колонке формы запроса для таблицы позволяет удалить из нее выбранные по какому-либо условию записи (только полные записи, но не отдельные значения). В других столбцах и на других связанных запросных формах можно вводить условия выбора записи для удаления. Если условия не определяются, из таблицы при выполнении запроса удаляются все записи.
В результате выполнения запроса будет создана временная таблица Deleted, содержащая все удаленные записи. Она подстраховывает пользователя на тот случай, если он пожелает восстановить исходную таблицу.
Это реализуется услугой Tools\More\Add.
Пример DELETE-запроса представлен на рис. 6б.6
GROUPS FAC
+------------------------------------------+ +---------------+
¦ ¦FAC ¦ SPEC ¦ Y ¦ STG ¦ QST ¦ ¦ CF ¦ NFAC ¦
+--------+----+-------+----+-------+-------¦ ¦-------+-------¦
¦ delete ¦ F ¦ ¦ ¦ ¦ ¦ ¦ F ¦="ИИТ" ¦
+--------+---------------------------------+ +---------------+
Рисунок 6б.6
ИЗМЕНЕНИЕ ЗНАЧЕНИЙ ПОЛЕЙ В ВЫБРАННЫХ ЗАПИСЯХ.
Ключевое слово "changeto" позволяет изменить значение в таблице, основываясь на условии в запросе. Этот вариант запроса особенно удобен, если Вы хотите изменить несколько значений одинаковым способом.
Чтобы изменить записи, нужно набрать ключевое слово в поле, которое будет изменяться. Затем вводится новое значение или выражение, представляющее его. В данное поле и другие поля, а также в связанные запросные формы можно включать условия выбора.
В результате выполнения запроса будет сгенерирована временная таблица "changed", которая содержит копии записей дом того момента, как они были изменены.
Пример запроса на изменение значений в заданном поле приведен на рис. 6б.7.
GROUPS FAC
+--------------------+-----------------+ +----------------+
¦ FAC ¦ SPEC ¦ Y ¦ STG ¦ QST ¦ ¦ CF ¦ NFAC ¦
+------------+-------+----+------+-----¦ ¦-------+--------¦
¦changeto F ¦=220400¦ ¦ ¦ ¦ ¦ F ¦="ФММПУ"¦
+--------------------------------------+ +----------------+
Рисунок 6б.7.
Операция FIND.
Эта операция позволяет использовать запрос по примеру, чтобы выделить записи или группы записей в таблице.
ОБРАБОТКА ГРУПП ЗАПИСЕЙ.
Все обсужденные ранее запросы формулировались относительно отдельных записей таблиц. Но используя QBE, можно формировать запросы относительно групп записей, рассматриваемых в целом:
¨ можно выбирать записи, базируясь на характеристиках группы (например, на каком факультете меньше десяти учебных групп);
¨ можно вычислять статистические характеристики для групп записей (например, средние значения);
¨ можно сравнивать характеристики группы с разными записями (например, в каких группах больше студентов, чем в любой группе ФММ и ПУ).
Эти запросы отличаются от предыдущих тем, что в момент их выполнения необходимо рассматривать более, чем одну запись. Например, в таблице Groups нет отдельной записи, в которой бы говорилось, имеет ли факультет более десяти групп. В этих запросах могут использоваться групповые операции для определения максимума, минимумма, среднего, суммы по группе записей, определение общего количества, входящих в нее элементов.
В примере на рис. 6б.8 выделяются записи, основанные на характеристиках групп.
GROUPS FAC
+------------+------------+----------------+ +----------------+
¦ FAC ¦SPEC ¦ Y ¦ STG ¦ QST ¦ ¦ CF ¦ NFAC ¦
+------+-----+---+--------+----------------+ ¦-------+--------¦
¦ F ¦ ¦ ¦count<10¦ Calc count as Q¦ ¦ F ¦ V ¦
+------------------------------------------+ +----------------+
Рисунок 6б.8.
В соответствии с этим запросом будет сформирована временная результативная таблица ANSWER, которая будет содержать наименования факультетов с числом групп меньше десяти и количество групп на этом факультете.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.