Язык программирования баз данных Informix-4GL


Запросы по образцу


Informix-4GL содержит средства, позволяющие использовать экранную форму и несколько другим путем: помещая литеральные значения и ограничения на значения в поля экранной формы во время выполнения программы, пользователь формирует условия для запроса. Такой процесс называется запросом по образцу (Query-by-example). Оператор CONSTRUCT используется для создания переменной типа Char и формирования булевого выражения, построенного на экранном запросе Query-by-example. Указанный оператор в значительной степени похож на оператор INPUT и содержит список имен столбцов базы данных и список имен полей экранной формы, ассоциированных с этими столбцами. При совпадении имен полей экранной формы и имен столбцов конструкция BY NAME позволяет исключить из оператора CONSTRUCT список имен полей экранной формы. Конструкции BEFORE (AFTER) FIELD, BEFORE (AFTER) CONSTRUCT, ON KEY в операторе CONSTRUCT используются аналогично соответствующим конструкциям оператора INPUT. При вводе параметров поиска Query-by-example необходимо придерживаться следующего синтаксиса:

Символ

Значение

Тип данных

Использование

=

равно

все

по умолчанию

>

больше

все

>x

<

меньше

все

>x

>=

больше или равно

все

>=x

<=

меньше или равно

все

<=x

<>

не равно

все

<>x

:

диапазон

все

x:y

*

ноль или больше символов

Char

*x, x*, *x*

?

один символ

Char

?x, x?, ?x?, x??

. .

диапазон

Datetime, Interval

x . . y

|

или

все

x | y

Ввод в поле значения литерала равносильно формированию условия равенства на значение соответствующего столбца.

Ввод данных по оператору CONSTRUCT так же, как и для оператора INPUT завершается нажатием клавиши ESC, либо управляющей клавиши, определенной параметром ACCEPT KEY в операторе OPTIONS, либо нажатием клавиши RETURN после ввода последнего поля экранной формы при условии действия опции INPUT NO WRAP в операторе OPTIONS. В случае опции INPUT WRAP в операторе OPTIONS нажатие клавиши RETURN после ввода последнего поля экранной формы приводит к циклическому перемещению курсора на первое поле экранной формы.


Начало  Назад  Вперед



Книжный магазин