Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Индексация_новая.doc
Скачиваний:
1
Добавлен:
17.11.2019
Размер:
192 Кб
Скачать

Процедура index_vozm

В качестве примера открытия мультииндексных файлов, созданных командным способом, рассмотрим процедуру index_vozm.prg. В этой процедуре производится индексирование таблицы vozm в первом случае сначала по номеру поставщика, потом по номеру детали, во втором случае - сначала по номеру детали, затем по номеру поставщика.

index_vozm.prg

* Индексирование файла vozm

CLEAR

USE vozm && использовать vozm

* Индексирование по коду поставщика, а внутри по коду детали

INDEX ON nomp + nomd TO vozm_p COMPACT

* Индексирование по коду детали, а внутри по коду поставщика

INDEX ON nomd + nomp TO vozm_d COMPACT

* Отображение результата индексирования по полям nomp+nomd

USE vozm INDEX vozm_p && открытие индекса vozm_p

CLEAR && очистка экрана

LIST && отображение записей

WAIT

* Отображение результата индексирования по полям nomd+nomp

USE vozm INDEX vozm_d &&Открытие индекса vozm_d

CLEAR && очистка экрана

LIST && отображение записей

WAIT

RETURN && перевод из командного режима СУБД в свободный

Процедура candidatе

В этой процедуре производится индексация полей tel и fax таблицы poshk_k с типом индекса candidatе.

candidatе.prg

*ключ-кандидат

CLOSE TABLES ALL

CLEAR

? "Выполнение индексированного файла poshk_k"

? "Индексирование по первичному ключу-кандидату - телефону"

USE poshk_k order tel_i

LIST

WAIT

CLEAR

? "Выполнение индексированного файла poshk_k"

? "Индексирование по первичному ключу-кандидату - факсу"

SET ORDER TO 2 && use poshk_k order fax_i

LIST

WAIT

CLEAR

SET ORDER TO && закрыть все индексные файлы

RETURN

Процедура index_detl_proek_poski

index_detl_proek_poski.prg

*Просмотр индексов

CLOSE TABLES ALL

CLEAR

? "Выполнение индексированного файла detl"

? "Индексирование по первичному ключу - коду детали"

USE detl ORDER nomd_i

DISPLAY All

WAIT

CLEAR

? "Выполнение индексированного файла proek"

? "Индексирование по первичному ключу-коду разработчика проекта"

USE proek ORDER nomr_i

DISPLAY All

WAIT

CLEAR

? "Выполнение индексированного файла poski"

? "Индексирование по составному ключу"

USE poski ORDER poski_i

DISPLAY All

WAIT

CLEAR

? "Закрытие индексов"

SET ORDER TO

RETURN

Создание индексов командным способом Процедура индексации по разным типам данных

Можно индексировать таблицы, создавая индексы через команды, вводимые в процедуре. Обратите внимание на то, что индексация произошла по коду поставщика, а уже после - по количеству.

Nomp_kolw.prg

* Индексирование по коду поставщика и внутри - по количеству

CLOSE ALL && закрыть все файлы

USE poski && использовать ТБД poski

* Создание индекса с именем poski_kol по полям nomp и kolw.

* Команда STR(kolw,4) для перевода числового выражения в символьное

INDEX ON nomp+STR(kolw,4) TO poski_kol

BROWSE && просмотр

В следующей процедуре на дисплей отображаются все записи из таблицы vozm. Далее производится индексация сначала по номеру поставщика, затем - по номеру детали, результат индексации выводится на дисплей. Далее производится индексация сначала по номеру детали, затем - по номеру поставщика, результат индексации выводится на дисплей.