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

Счетчик воды класса c подробно. |

Запросы по образцу - часть 2


Если после окончания ввода критерия поиска в поля экранной формы ни в одно из полей не введено значений, сформированное условие в текстовой переменной, указанной в операторе CONSTRUCT, имеет вид " 1=1".

На основании введенных данных в поля экранной формы в текстовой переменной, указанной в операторе CONSTRUCT, формируется булевое выражение, которое впоследствии может использоваться при формировании оператора SQL:

  • к постоянной части оператора SELECT (INSERT, DELETE, UPDATE) после фразы WHERE добавляется условие, хранимое в переменной, указанной в операторе CONSTRUCT;
  • выполняется оператор PREPARE для составленного текста SQL-оператора;
  • объявляется курсор для структуры, сформированной в операторе PREPARE;
  • открывается курсор и оператором FETCH (FOREACH) выполняется чтение строк, удовлетворяющих сформированному запросу.

Отметим два 4GL-оператора общего использования, полезных при разработке программных приложений. Оператор WHENEVER с опциями GOTO, CALL, CONTINUE позволяет определить действия, которые необходимо выполнить в случае возникновения ошибок при исполнении программы. Данный оператор особенно полезен при динамическом формировании операторов, когда в тексте оператора возможны ошибки. Отслеживая состояние системных переменных sqlca.sqlcode и STATUS пользователь сам обрабатывает возникающие ошибки. Значение по умолчанию для ERROR - STOP, для WARNING - CONTINUE. Оператор DEFER запрещает прерывание ввода (обычно DEL или Control-C) и прерывание программы (Control-\).




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



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