Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Р. Кречмер, В. Вейс - Разработка приложений SAP R3 на языке АВАР4.pdf
Скачиваний:
502
Добавлен:
17.02.2016
Размер:
29.74 Mб
Скачать

Чтение таблиц базы данных

 

1

Чтение единственного элемента таблицы

При чтении единственного элемента таблицы всегда применяется команда select single и предложение where, где указаны все поля первичного ключа. После ее выполнения системный код возврата sysubrc указывает на успешное (значение равно нулю) или неуспешное (значение не равно нулю) завершение запроса к базе данных:

Обратите внимание, что оператор select single выполняется правильно только в том случае, если все поля первичного ключа заданы как единичные значения (т.е. с помощью операторов = или eq).

Извлечение единственного поля

В предыдущих примерах с помощью звездочки (*) в операторе select извлекались все элементы таблицы со всеми полями. Однако иногда нужны не все поля элемента, а только какое-то их подмножество. Указать необходимые поля можно с помощью списка конкретных имен полей (например, id и name), который должен следовать сразу же после команды select. Соответствующие им поля программы (например, cid и cname) перечислены после слов into в круглых скобках.

Указание полей удобно для ограничения размера памяти, занимаемого объектами данных в программе. Например, если считываются 10 000 элементов таблицы, содержащей 100 полей в каждом элементе, из которых необходимы лишь два или три поля, то количество данных и время запроса, а также используемые системные ресурсы можно существенно уменьшить, воспользовавшись выбором только указанных полей.

Получение статистической информации

Иногда бывает необходимо вычислить количество элементов таблицы, удовлетворяющих определенному условию. Получить это число можно, добавив в оператор select операции count(*) (сосчитать):

В результате поле count_bookings будет содержать количество элементов, удовлетворяющих условию where. Точно так же, используя приведенные ниже дополнительные операции, можно получить и другие статистические оценки элементов таблицы:

max — максимальное значение в заданном столбце

min — минимальное значение в заданном столбце

avg — среднее значение в заданном столбце

sum — сумма значений заданного столбца

Выполнив, например, следующую программу, можно получить из базы данных туристического агентства среднее число заказанных и максимальное число имеющихся мест: