Файл: В терминах бд столбцы таблицы называются полями, а её строки записями.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 23.11.2023
Просмотров: 41
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОЗДАНИЕ ИНДЕКСА
Создать индекс можно двумя способами.
а. С помощью команды:
INDEX ON <индексное выражение> ТО <idх-файл> | TAG <имя тега> [OF <сdх-файл>]
[FOR <условие>]
[COMPACT]
[DESCENDING]
[UNIQUE]
[ADDITIVE]
[NOOPTIMIZE]
Назначение опций:
<индексное выражение> — имя поля (или полей), по значениям которого надо построить индекс. При построении сложного индекса имена полей перечисляются через знак + (плюс). Если сложный индекс построен по:
• числовым полям, то индекс строится по сумме значений полей;
• символьным полям, то индекс строится сначала по значению первого поля, а при повторяющихся значениях первого поля — по значениям второго поля; при повторяющихся значениях первого и второго полей — по значениям третьего поля и т. д.;
• по полям разных типов, то сначала значения полей приводят к одному типу, как правило символьному, а затем строят индекс.
Длина индексного выражения не должна превышать 254 символа.
ТО <idх-файл> — указывается имя одноиндексного файла.
TAG <имя тега> [OF <cdx-файл>] — указывается имя тега в мультииндексном файле. Если используется опция [OF
FOR <условие> — устанавливает режим отбора в индекс тех записей таблицы, которые удовлетворяют <условию>.
COMPACT — управляет созданием компактного одноиндексного файла. В старших версиях FoxPro не используется.
DESCENDING — строит индекс по убыванию. По умолчанию используется построение индекса по возрастанию (ASCENDING). Для одноиндексных файлов можно построить индекс только по возрастанию. Если перед использованием команды INDEX ON... подать команду SET COLLATE, то можно построить одноин-дексный файл по убыванию.
UNIQUE — строит уникальный индекс. Если индексное поле (поля) содержит повторяющиеся значения, то в индекс попадает только одна первая запись и остальные записи будут не доступны.
ADDITIVE — вновь создаваемый индексный файл не закрывает уже открытые к этому моменту времени индексные файлы. Если опция опущена, то вновь создаваемый индексный файл закрывает все ранее открытые индексные файлы.
б. С помощью Главного меню:
В этом случае индекс создается либо при создании таблицы, либо при модификации структуры таблицы. Для этого в диалоговой панели Table Designer надо выбрать вкладку Index (рис. 3.1).
Каждый индекс описывается одной строкой в окне диалоговой панели Table Designer.
В графе Name указывается имя тега мультииндексного файла. Если ранее открыт один из мультииндексеых файлов, то вновь построенный индекс помещается в открытый мультиин-дексный файл. Если индекс строится одновременно с созданием табличного файла или табличный файл не имеет мультиин-дексных файлов, то вновь построенный индекс помещается в автоматически создаваемый структурный мультииндексный файл.
В графе Туре, снабженной раскрывающимся списком, указывается один из допустимых типов индекса. Если индекс строится для таблицы, входящей в состав базы данных, то возможны четыре значения: Primary, Candidate, Unique и Regular. Если ин деке строится для свободной таблицы, то в раскрывающемся списке отсутствует значение Primary.
В графе Expression перечисляются имена полей, по значениям которых надо построить индекс. Если строится сложный индекс, то удобнее воспользоваться построителем выражений, который запускается нажатием кнопки, расположенной справа от поля ввода.
В графе Filter можно задать логическое условие и построить индекс не для всех записей таблицы, а только для записей, удовлетворяющих условию фильтра. Эта графа также снабжена построителем выражений. Содержание и внешний вид обоих построителей одинаковые (рис. 3.2).
На рис. 3.2 показано построение сложного индекса по двум символьным полям ush_step и uch_zvan (имя тегу uch было присвоено до вызова на экран построителя выражений). Знак «+», указывающий на построение сложного индекса, взят из раскрывающегося списка String,
В раскрывающемся списке String приведены допустимые строковые функции. Аналогично в раскрывающихся списках Math, Logical и Date приведены допустимые математические, логические функции и функции даты. Нужная функция из этих раскрывающихся списков выбирается щелчком левой кнопки мыши. Имена полей (список Fields) и имена переменных (список Variables) выбираются с помощью двойного щелчка левой кнопки мыши. Получившееся в результате выражение помещается в окно Expression.
В раскрывающемся списке From Table указано имя таблицы, из которой берутся поля для построения индекса. При желании можно заказать любую таблицу из текущей базы данных и для построения индекса взять любое поле.
ОТКРЫТИЕ ИНДЕКСНОГО ФАЙЛА
Открыть индексный файл можно только в том случае, если ранее открыт соответствующий табличный файл. В противном случае будет выдано сообщение об ошибке. Для открытия индексного файла надо подать команду:
SET INDEX TO [список индексных файлов]
[ORDER <выр.N> | <idx-файл>|[ТАG<имя тега>][ОР<cdх-файл>]]
[ASCENDING | DESCENDING]
[ADDITIVE]
Назначение опций такое же, как в командах USE и INDEX ON.
Открыть существующий индексный файл можно одновременно с открытием табличного файла командой USE (см. п. 2.2 «Открытие таблицы»).
Для закрытия всех индексных файлов надо подать одну из команд: либо SET INDEX TO без опций, либо CLOSE INDEX.
ЗАМЕНА ТЕКУЩЕГО ИНДЕКСА
Для каждой таблицы одновременно может быть открыто несколько индексных файлов, но текущим (активным) будет только один индекс. По умолчанию принято, что текущим будет первый по порядку индекс в том индексном файле, имя которого указано первым в списке имен индексных файлов команды USE или команды SET INDEX TO.
Текущим можно сделать любой индекс из текущего индексного файла с помощью команды
SET ORDER TO
[<выр.N1> | <idх-файл> | [TAG <имя тега> [OF <сdх-файл>]]
[IN <выр.N2> | <выр.С ]
[ASCENDING | DESCENDING]
Назначение опций:
<выр.Nl> — задает текущий индекс по его порядковому номеру в мультииндексном файле.
TAG <имя тега> [OF
IN <выр.N2> — указывает номер рабочей области, в которой находится индексный файл. Опция используется в том случае, если табличный файл открыт в одной рабочей области, а индексный файл — в другой рабочей области.
Текущим индекс также можно сделать с помощью диалоговой панели Table Designer, переместив строку описания нужного индекса на первое место.
ПЕРЕСТРОЙКА ИНДЕКСНЫХ ФАЙЛОВ
При внесении изменений в большие таблицы тратится много времени, так как при внесении каждого изменения заново перестраиваются все открытые индексные файлы. Для экономии времени индексные файлы закрывают и вносят изменения в таблицу. Однако в этом случае возникает несоответствие между обновленной таблицей и индексными файлами. Для устранения указанного несоответствия надо заново перестроить индексные файлы. После открытия всех индексных файлов, принадлежащих измененному табличному файлу, надо подать команду REINDEX. Команда действует на все индексные файлы, открытые в текущей рабочей области. Переиндексирование можно также выполнить, подав из Главного меню команду Table -> Rebuild Indexes.
ПРЕОБРАЗОВАНИЕ ОДНОЙНДЕКСНОГО ФАЙЛА В ТЕГ
Если табличному файлу принадлежит один или несколько одно-индексных файлов, то их можно скопировать как теги в мульти-индексный файл. Для этих целей используют команду
COPY INDEXES <имена idx - файлов> | ALL [TO
Опция ALL указывается в том случае, если надо скопировать все одноиндексные файлы. При этом список имен <имена idx-файлов> не указывается. Тегам присваиваются имена одноиндексных файлов. При копировании нескольких одноиндексных файлов их имена перечисляются через запятую. Если опция ТО опущена, то одноидексные файлы копируются в текущий мультииндексный файл. Если опция ТО содержит имя несуществующего мультииндексного файла, то он создается.
Допустима и обратная операция, то есть один тег преобразуется (копируется) в одноиндексный файл с помощью команды:
COPY TAG <список имен тегов> {OF <сdх-файл> ] TO <idx-файл>]
Предварительно мульти индексный файл должен быть открыт. Можно скопировать отдельные теги, указав <список имен тегов>, либо все теги, используя опцию ALL.
УДАЛЕНИЕ ТЕГА ИЗ МУЛЬТИИНДЕКСНОГО ФАЙЛА
Удалить один тег или все теги из мультииндексного файла, открытого в любой рабочей области, можно с помощью команды
DELETE TAG <имя тега 1> [OF <имя cdх-файла>]
[,<имя тега 2> [OF <имя сdх-файла> ] ] ... |
ALL [OF <имя сdх-файла> ]
Одной командой можно удалить теги, находящиеся в разных мультииндексных файлах.
ВЫВОД НА ЭКРАН ИМЕН ИНДЕКСНЫХ ФАЙЛОВ И ИМЕН ТЕГОВ
Во время работы с приложением часто возникает необходимость получить справку, имеет ли таблица индексные файлы, а также узнать имена тегов мультииндексных файлов. Для этих целей предназначены следующие функции.
NDX(<выр.N> [,<номер рабочей области | псевдоним рабочей области> ])
Функция возвращает имена открытых одноиндексных файлов.
CDX(<выр.N> [,<номер рабочей области | псевдоним рабочей области> ])
Функция возвращает имена открытых мультииндексных файлов.
MDX(<выр.N> [,<номер рабочей области | псевдоним рабочей области>])
Функция возвращает имя структурного мультииндексного файла.
Во всех функциях <выр. N> — порядковый номер индексного файла, имя которого должна вернуть функция.
ТАG ([<имя сdх-файла> , <выр.N> [, <номер рабочей области | псевдоним рабочей области> ])
Функция возвращает для указанного <имя сdх-файла> мультииндексного файла имя тега <выр.N>, заданного порядковым номером. Если <имя сdх-файла> опущено, то по умолчанию подставляется имя текущего мультииндексного файла.
КОМАНДЫ ВВОДА-ВЫВОДА
При работе с базами данных постоянно требуется вводить какие-либо данные, задавать критерии поиска и фильтрации, получать из базы данных результаты произведенных действий. Для этих целей предусмотрены команды ввода-вывода, которые бывают как простыми, так и универсальными.
Простейшие команды вывода
В FoxPro имеются команды для вывода на экран значений переменных и элементов массивов. Причем эти команды допускают управление шрифтом и простейшее форматирование. Формат команды вывода:
?|?? [<выр.1>]
[PICTURE <выр. С1>]
[FUNCTION <выр. С2>]
[AT <выр. Nl>]
[FONT <выр. С3> [, <выр.N2> ]] [STYLE <выр.С4>]
[, <выр.2>] ...
Команда вычисляет и выводит на экран <выр.1>. Назначение опций :
? <выр.1> — вычисляет и выводит значение <выр. 1> в следующей строке экрана.
?? <выр.1> — вычисляет и выводит на экран <выр.1> в текущей строке экрана.
Если перед этой командой указана команда SET PRINTER ON, то вывод будет производиться на принтер (печать).
PICTURE <выр. С1> — задает шаблон для вывода значения <выр.1>.
FUNCTION <выр. С2> — задает коды управления выводом.
AT <выр. Nl> — используется для создания таблиц. <выр.N1> задает номер колонки на экране, с которой начинается вывод значения <выр.1>.
FONT <выр. С3> [, <выр.N2> ] [STYLE <выр.С4>] — опция задает тип шрифта (<выр.СЗ>), размер шрифта (<выр.N2>) и стиль написания шрифта (STYLE <выр.С4>).
В Visual FoxPro предусмотрены следующие стили написания шрифта:
В — жирный
I — курсив
N — нормальный
О — контурный
Q — непрозрачный
S — с тенью
- — перечеркнутый
Т — прозрачный
U — подчеркнутый
Универсальная команда ввода-вывода
Эта команда предназначена для форматного ввода-вывода на экран и принтер. Формат команды:
@
[SAY <выр.1>
[PICTURE <выр.С1>]
[FUNCTION <выр.С2>]
<имя файла> [BITMAP] | < имя общего поля>
[ SIZE <выр.М1>,
[ CENTER ]
[ ISOMETRIC | STRETCH ]
[ FONT <выр.СЗ> [, <выр.N3>]] [STYLE <выр.С4> ]
[ VERB <выр.N4> ]
[ COLOR SCHEME <выр.N5> | COLOR <список пар цветов>]
[GET <переменная>
[ PICTURE <выр.С5>]
[ FUNCTION <выр.С6>]
[ DEFAULT <выр.2>]
[ ENABLE | DISABLE]
[ MESSAGE <выр.С7>]
[ [OPEN] WINDOW <имя окна>]
[ RANGE [<выр.3>] [<выр.4>] ]
[ SIZE <выр.N6>, <вырN7>],
[ VALID <выр.L1> | <выр.N8> [ ERROR <выр.С8>]]
[ WHEN <вырL2>]
[ FONT <выр.С9> [, <выр.N9> ] ] [ STYLE <выр.С10> ]
[ COLOR SCHEME <выр.N10> | COLOR <список пар цветов>]
Команда размещает курсор на экране или в окне в позиции Y1 (номер строки от 0 до 35) X1 (номер столбца от 0 до 79 ) и, начиная с этой позиции, на экран выводится сообщение, указанное в опции SAY <выр.1>. Если в команде дополнительно используется опция GET <переменная>, то <переменная> выводится на экран сразу после SAY <выр.1>. Если перед командой @ ... SAY ... GET ... указана команда SET DEVICE TO PRINT, то вывод производится на принтер и тогда количество строк и столбцов определяется размером бумаги. Для переназначения вывода на экран следует использовать команду SET DEVICE TO SCREEN (команда используется по умолчанию). Значение <переменная> должно быть определено до использования команды @ ... SAY ... GET ...В общем случае, назначение опции SAY - указать пользователю, где выполнить ввод (вывод) по пункту GET.
<выр.1> и <переменная> форматируются по отдельности с использованием опций, указанных после них.
Для форматирования <выр.1> используются следующие опции:
PICTURE — задает шаблон для форматирования. При составлении шаблона можно применять символы:
А — используются только символы алфавита (русского или латинского);
L — используются только логические данные;
N — используются только буквы и цифры;
X — используются любые символы;
Y — используются логические данные, приведенные к виду Y — True и N — False;
9 — используются только числовые данные;
# — используются цифры, пробелы и математические знаки;
! — преобразует строчные (малые) буквы в прописные (большие);
$ — используется для обозначения денежных единиц;
* — используется для обозначения * перед числом;
. — используется для отделения целой части числа от дробной части;
, — используется для разделения тысяч в числовых данных.
Каждый шаблон начинается с символа @, а затем следуют указанные выше символы.
FUNCTION — задает коды управления выводом, при этом начальный символ @ не указывается. Для составления кодов управления используют символы:
А — разрешены только символы алфавита;
В — сохраняет выравнивание числовых данных;
С — отображает знак кредита CR после положительного числа;
D — текущий формат даты;
I — используется для расположения текста по центру внутри поля;
J — форматирует текст внутри поля по правой границе;
К — разрешает редактирование целочисленного поля;
L — отображает ведущие (незначащие) нули перед целой частью числа;
М<список>D — задает список предварительного выбора для пользователей (элементы списка разделены запятыми);
R — отображает (без сохранения) символы формата;
S
Т — удаляет ведущие и конечные пробелы;
V<выр.N> — заполняет все отведенное пространство (<выр.N>) текстом, за счет добавления пробелов;
X — отображает знак дебета DB после положительного числа;
Z — в пустых числовых полях отображает пробелы вместо 0;
( — заключает в скобки отрицательные числа;
! — преобразует строчные (малые) буквы в прописные (большие);
$ — отображает символ денежной единицы;
пробел — задает вывод чисел в экспоненциальной форме.
1 2 3 4 5
<имя файла> [ BITMAP] | <имя общего поля> — используется для вставки рисунка (.bmp) или OLE-объекта, сохраненном в общем поле в указанном месте экрана. Следующие четыре опции управляют размещением рисунка на экране.
SIZE <выр.Nl>, <выр.N2> — определяет ширину (<выр.N1>)и высоту (<выр.N2>) импортируемого рисунка.
CENTER — располагает рисунок в центре выделенной области.
ISOMETRIC — пропорционально изменяет размеры импортируемого рисунка, с целью заполнения всего выделенного пространства.
STRETCH — заполняет рисунком все выделенное пространство без сохранения пропорций.
VERB <выр.N4> — непосредственно вставляет рисунок с указанными параметрами.
FONT <выр.СЗ> [, <выр.N3> ] ] [ STYLE <выр.С4> — задает тип (<выр.СЗ>), размер (<выр.N3> ) и стиль (<выр.С4> ) шрифта, которым будет выведено значение <выр.1>.
COLOR SCHEME <выр.N5> | COLOR <список пар цветов> - задает цвет, которым будет выведено значение <выр.1>, либо с помощью указания номера цвета (<выр.N5>) в палитре цветов (номер цвета выбирается из диапазона от 1 до 24), либо с помощью буквенного обозначения цвета шрифта и цвета фона (<список пар цветов>).
GET <переменная> — указывается имя переменной, значение которой будет выведено после значения <выр.1>. Значение <переменная> должно быть определено до использования команды @ SAY GET любым способом, кроме опции DEFAULT.
PICTURE <выр.С5> — задает шаблон для значения <переменная> аналогично значению <выр.1>.
FUNCTION <выр.С6> — задает коды управления выводом значения <переменная> аналогично значению <выр.1>.
В опциях PICTURE и FUNCTION допускается использование комбинации символов «*» и пробел для создания командных кнопок.
DEFAULT <выр.2> — устанавливает значение переменной по умолчанию. При первом вызове команды @ SAY GET опция не работает.
ENABLE — разрешает редактирование <переменной>. Эта опция задана по умолчанию.
DISABLE — запрещает редактирование переменной и указывает на это цветом.
MESSAGE <выр.С7> — выводит сообщение (<выр.С7>) в статус-строку или последнюю строку экрана при установке курсора на поле GET (<переменная>).
[ OPEN ] WINDOW <имя окна> — разрешает редактирование Memo-поля в окне, которое было заранее определено. Если указана опция OPEN, то окно открывается автоматически. Если опция OPEN не указана, то для открытия окна надо подать команду Ctrl + Home. В том и другом случае для входа в окно надо либо дважды щелкнуть левой кнопкой мыши внутри окна, либо подать команду Ctrl + Home. Для выхода из окна надо либо подать команду Ctrl + End (для сохранения внесенных изменений), либо нажать клавишу Esc (изменения не сохраняются).
RANGE [<выр.3>] [<выр.4>] — устанавливает диапазон допустимых значений (нижняя граница — <выр.3>, верхняя граница — <выр.4>) для <переменной>. Допускается указание любой одной границы диапазона. При указании только верхней границы диапазона необходимо перед значением верхней границы диапазона поставить запятую. Диапазон допустимых значений устанавливается для символов, чисел и дат. При нарушении границ диапазона на экран выводится соответствующее сообщение с указанием границ диапазона.
SIZE <выр.N6>, <выр.N7> — задает ширину (<выр.N6>) и высоту (<выр.N7>) поля GET для ввода значений <переменной>.
VALID <выр.Ll> | <выр.N8> [ ERROR <выр.С8> ] — предназначена для обеспечения достоверности вводимых данных. Если логическое выражение <выр.Ll> истинно, то вводимые данные достоверны. В противном случае на экран выводится сообщение об ошибке <выр.С8>. При составлении логических выражений допускается использование функций, в том числе и функций пользователя, специально написанных для этих целей. Если опция используется с числовым выражением <выр.N8>, то:
• число 0 (ноль) соответствует выявленной ошибке,
• положительное число указывает, на сколько полей GET вперед надо переместить курсор для следующего ввода,
• отрицательное число указывает, на сколько полей GET назад надо переместить курсор для следующего ввода.
Часто в опцию VALID включают команды, которые выполняются при чтении поля.
WHEN <выр.L2> — используется для управления редактированием <переменной>. Если логическое условие (<выр.L2>) истинно, то редактирование <переменной> разрешено. Если логическое условие (<выр.L2>) ложно, то курсор передвигается к следующему полю GET. При написании логического условия допускается использование функций, в том числе и функций пользователя, а также команд, которые выполняются при отображении поля GET.
FONT <выр.С9> [, <выр.N9> ] ] [ STYLE <выр.С10> — назначение опции см. выше.
COLOR SCHEME <выр.N10> COLOR <список пар цветов> — назначение опции см. выше.
Команды для работы с переменными
В FoxPro допустимы следующие действия над переменными: хранение в файле, загрузка их в оперативную память, просмотр и удаление.
Сохранение переменных
С помощью команды SAVE TO можно сохранить либо все переменные, находящиеся в оперативной памяти, либо их произвольную часть, как в файле, так и в Memo-поле с заданным именем. Формат команды:
SAVE ТО <имя файла> | ТО MEMO <имя поля> [ALL LIKE | EXCEPT <шаблон>]
В команде предусмотрено использование одного из двух шаблонов.
ALL LIKE — сохраняются все переменные, имена которых соответствуют шаблону.
ALL EXCEPT — сохраняются все переменные, кроме переменных, перечисленных в шаблоне.
В любом из шаблонов допустимо использование символов "*" и "?".
По умолчанию к указанному в команде имени файла, добавляется расширение .mem
По умолчанию команда создает файл с указанным именем. Если файл с таким именем уже существует, то он заменяется на новый без предупреждения. Если вы хотите увидеть предупреждение на экране, что указанный файл уже существует, надо перед командой SAVE ТО установить команду SET SAFETY OFF.
Загрузка переменных в оперативную память
Если при работе с приложением возникает необходимость разместить в оперативной памяти переменные, значения которых были определены ранее, то надо воспользоваться командой:
RESTORE FROM <имя файла> | FROM MEMO <имя поля> [ADDITIVE]
В результате работы команды оперативная память очищается от имеющихся переменных, и в нее помещаются переменные из указанного файла с расширением .mem или из Memo-поля. Для того чтобы сохранить в оперативной памяти переменные, значения которых определены до использования команды SAVE TO, и добавить в оперативную память переменные с отличными (другими) именами из файла (или Memo-поля), надо указать опцию ADDITIVE.
Просмотр переменных
Переменные, которые хранятся в оперативной памяти, можно просмотреть с помощью команды:
DISPLAY MEMORY [LIKE <шаблон>] [ТО PRINTER | FILE <имя файла>]
На экране каждая переменная занимает одну строку, куда выводится имя, тип, значение и статус переменной. После заполнения экрана надо нажать либо клавишу ENTER, либо клавишу «пробел» для продолжения вывода переменных на экран. При желании можно направить вывод переменных либо на принтер (ТО PRINTER), либо в файл (ТО FILE).
Удаление переменных
Все переменные или часть переменных, хранящихся в оперативной памяти, можно удалить с помощью команды:
RELEASE <список имен переменных> RELEASE ALL [LIKE | EXCEPT <шаблон>]
Для удаления всех переменных также можно использовать
команду:
CLEAR MEMORY
КОМАНДЫ УПРАВЛЕНИЯ
Команды управления являются важнейшим средством построения „грамм. Эти команды не могут быть опробованы и использованы в интерактивном режиме, а только в программах.
Команда IF. В зависимости от условия команда выполняет те или иные <команды>, находящиеся внутри конструкции IF...ENDIF.
IF <условие>
<команды>
[ELSE
<команды>]
ENDIF
Если условие истинно, выполняются все <команды>, следующие от IF до ELSE, если ложно, то <команды> от ELSE до ENDIF. Если необязательная фраза ELSE отсутствует и условие ложно, все внутренние <команды> пропускаются и выполняется команда, следующая за ENDIF. Допустимо вложение друг в друга конструкций типа IF... ENDIF и других структурных команд.
Команда DO CASE. Конструкция DO CASE ... ENDCASE решает задачи, аналогичные команде IF, но в ней может быть указано сразу несколько условий, которые последовательно проверяются во всех фразах CASE.
DO CASE
CASE <условие 1>
<команды>
CASE <условие 2>
<команды>
…
[OTHERWISE
<команды>]
ENDCASE
Если встретилось истинное <условие>, выполняются нижеследующие <команды> до следующей фразы CASE, или OTHERWISE, или ENDCASE, и конструкция завершается. Если ни одно из CASE-условий не истинно, выполняются <команды>, стоящие за фразой OTHERWISE до ENDCASE, если фраза OTHERWISE отсутствует, выполняется ни одна команда.
Команда очень удобна для обработки выбора из меню в программах. Разрешается вложение команд DO CASE, IF. В случае, если найдено истинное CASE-условие, остальные условия не проверяются и выполняется команда, стоящая за ENDCASE.
КОМАНДЫ ЦИКЛОВ
Так же как и в языках программирования, при разработке приложений баз данных предусмотрены команды циклов. Назначение команд, а иногда и формат команд, аналогичное.
Цикл по условию
Формат команды:
DO WHILE <выр. L>
…
[LOOP]
[EXIT]
ENDDO
Цикл выполняется многократно, до тех пор, пока истинно логическое условие <выр. L>. Для принудительного выхода их цикла, до нарушения логического условия <выр. L>, используют команду EXIT. Команда LOOP используется для прекращения вычислений, предусмотренных текущей итерацией, и принудительного перехода к следующей итерации внутри цикла.
Фиксированный цикл
Формат команды:
FOR <пер.> = <выр. Nl> TO <выр. N2> [ STEP <выр. N3> ]
…
[EXIT]
[LOOP]
ENDFOR | NEXT
Цикл выполняет фиксированное количество итераций (шагов).
<пер.> называется переменной цикла. В переменной цикла фиксируется количество выполненных итераций, то есть после выполнения очередной итерации значение переменной цикла увеличивается на значение шага цикла <выр. N3X