Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение в СУБД HyTech.doc
Скачиваний:
11
Добавлен:
01.03.2025
Размер:
2.67 Mб
Скачать

Выражения - логические операции

В языке имеются три логические операции: операция and (И), операция or (ИЛИ), операция not (НЕ).

Аргументами логических операций могут быть любые числа. Если операнд имеет нечисловой вид, то производится преобразование. Результат логической операции – единица, если истина, и нуль, если ложь. Все значения, отличные от нуля, интерпретируются как истинные.

При вычислении логических выражений вычисляются все их составляющие, независимо от того, какие значения имеют предыдущие составляющие. (В отличие от языка С, где вычисления прекращаются, как только удается определить результат).

Примеры выражений:

var @x1 = (12 >= 13) and (13 < 12); // результат 0, т.е. «ложно» var @x2 = not x1; // результат 1, т.е. «истинно» var @y = (12 <= 13) or (13 < 12); // результат 1, т.е. «истинно» select @x1 as X1, @x2 as X2, @y as Y from TABLES;

Составной оператор, пустой оператор Составной оператор

Любая последовательность операторов, заключенная в фигурные скобки, является составным оператором. Составной оператор нет необходимости заканчивать символом ;, поскольку ограничителем составного оператора служит сама закрывающая фигурная скобка. Обычно составной оператор используется в тех местах, где нужно написать несколько операторов, а можно использовать только один оператор.

Формат:

{ Оператор1; Оператор2; ... ОператорN; }

Аргументы:

Аргумент

Значение

Оператор

Оператор, входящий в состав составного оператора. Операторы будут выполняться последовательно, один за другим, в соответствии с их расположением внутри составного оператора.

Пример:

var @x = 1, @y = 2, @z = 5; if (@x + @y < @z) {   @x = @x + 3;   @y = @y - 3; } select @x as X, @y as Y from TABLES;

Пустой оператор

Пустой оператор представляется символом ;, перед которым нет выражения. Пустой оператор используют там, где синтаксис языка требует присутствия в данном месте программы оператора, однако по логике программы оператор должен отсутствовать.

Необходимость в использовании пустого оператора часто возникает при программировании циклов, когда действия, которые могут быть выполнены в теле цикла, целиком помещаются в заголовке цикла.

Формат:

;

Пример:

while(func1(a) == 0) {   ; }

Оператор вывода, оператор завершения работы программы Оператор вывода

Оператор вывода вычисляет значения своих аргументов, преобразует их в символьный вид и выводит их на экран либо окно пользователя. Куда реально производится вывод, зависит от реализации клиентской части сервера или от реализации локального интерпретатора.

Формат:

? Выражение,...;

Аргументы:

Аргумент

Значение

Выражение

Выражение, значение которого выводится на экран.

Пример:

? 'Сегодня:', today();

Оператор завершения работы программы

Оператор quit завершает выполнение программы или текущего запроса.

Формат:

quit;

Пример:

var @x = 0; if(@x == 0) {   select * from BOOK;   quit; } select * from AUTHOR;

Операторы ветвления Оператор ветвления

Выполнение SQL-программы обычно начинается с ее первого выполняемого оператора. При отсутствии специальных указаний о передаче управления операторы будут выполняться последовательно, один за другим, в соответствии с их расположением в тексте программы. Такой порядок выполнения операторов принято называть естественным.

Одним из наиболее часто применяющихся операторов, которые изменяют естественный порядок выполнения операторов, является условный оператор.

Формат:

if (Условие) [then]    Оператор1; else    Оператор2;

Аргументы:

Аргумент

Значение

Условие

Логическое выражение. Значение этого выражения определяет, какой из операторов будет выполняться.

Оператор1

Оператор, выполняющийся, если значение условия отлично от 0.

Оператор2

Оператор, выполняющийся, если значение условия равно 0.

Оператор, входящий в состав условного оператора, сам также может быть условным.

При этом в последовательности операторов вида:

if (Условие) then    if (Условие) then       Оператор1;    else       Оператор2;

Конструкция else относится к внутреннему условному оператору. В тех случаях, когда действия, подлежащие выполнению при определенном условии, не могут быть записаны одним оператором, удобно применять составной оператор. Составной оператор – один или несколько операторов, заключенных в фигурные скобки.

Пример.

var @x = 1, @y, @z; if(@x < 0)   @y = 10; else   @y = 5; if(@y > 5) then   @z = 23; if(@y == 5) then   @z = 45; else   @z = 0; select @y as Y, @z as Z from TABLES;