4.4.1. Назначение
Оператор OPEN (ОТКРЫТЬ) подготавливает файл к обработке.
4.4.1*. Общий формат
________________
* Нумерация соответствует оригиналу. - Примечание изготовителя базы данных.
4.4.3. Синтаксические правила
(1) Фраза EXTEND (ДОПОЛНЯЕМЫЙ) должна использоваться только для файлов с последовательным доступом. |
(2) Файлы, перечисленные в операторе OPEN (ОТКРЫТЬ), могут иметь различную организацию и доступ.
4.4.4. Общие правила
(1) Успешное выполнение оператора OPEN (ОТКРЫТЬ) делает файл доступным для обработки и файл находится в режиме открытия. Успешное выполнение оператора OPEN (ОТКРЫТЬ) связывает файл с именем-файла посредством определителя файла.
Файл доступен, если он физически имеется в наличии и распознан системой управления вводом-выводом.
В табл.1 показаны результаты открытия доступных и недоступных файлов.
Таблица 1
Фраза оператора | Файл доступен | Файл недоступен |
INPUT (ВХОДНОЙ) | Нормальное открытие | Открытие неуспешное |
INPUT (ВХОДНОЙ) (необязательный файл) | Нормальное открытие | Нормальное открытие; при первом чтении возникает условие конца или условие ошибки ключа |
I-O (ВХОДНОЙ-ВЫХОДНОЙ) | Нормальное открытие | Открытие неуспешное |
I-O (ВХОДНОЙ-ВЫХОДНОЙ) (необязательный файл) | Нормальное открытие | Открытие приводит к созданию файла |
OUTPUT (ВЫХОДНОЙ) | Нормальное открытие; файл не содержит записей | Открытие приводит к созданию файла |
EXTEND (ДОПОЛНЯЕМЫЙ) | Нормальное открытие | Открытие неуспешное |
EXTEND (ДОПОЛНЯЕМЫЙ) (необязательный файл) | Нормальное открытие | Открытие приводит к созданию файла |
(2) Успешное выполнение оператора OPEN (ОТКРЫТЬ) делает область записи доступной программе. Если определитель файла, связанный с именем файла, является внешним, то существует единственная область записи, связанная с определителем файла для единицы исполнения.
(1) Если файл не открыт, не может быть выполнен ни один оператор, явно или неявно относящийся к файлу, за исключением оператора MERGE (СЛИТЬ) с фразами USING (ИСПОЛЬЗУЯ) и GIVING (ПОЛУЧАЯ), оператора OPEN (ОТКРЫТЬ) или оператора SORT (СОРТИРОВАТЬ) с фразами USING (ИСПОЛЬЗУЯ) и GIVING (ПОЛУЧАЯ).
(4) Оператор OPEN (ОТКРЫТЬ) должен быть успешно выполнен перед выполнением любого другого допустимого оператора ввода-вывода. В табл.2 "х" означает, что указанный оператор, используемый при указанном в строке методе доступа, может использоваться в режиме открытия, заданном в заголовке столбца.
Таблица 2
Метод доступа файла | Оператор | режим открытия | |||
для ввода | для вывода | для ввода-вывода | для дополнения | ||
Последовательный | READ (ЧИТАТЬ) | х | х | ||
WRITE (ПИСАТЬ) | х | х | |||
REWRITE (ОБНОВИТЬ) | x | ||||
START (ПОДВЕСТИ) | x | x | |||
DELETE (УДАЛИТЬ) | x | ||||
Произвольный | READ (ЧИТАТЬ) | x | x | ||
WRITE (ПИСАТЬ) | x | x | |||
REWRITE (ОБНОВИТЬ) | x | ||||
START (ПОДВЕСТИ) | |||||
DELETE (УДАЛИТЬ) | x | ||||
Динамический | READ (ЧИТАТЬ) | x | x | ||
WRITE (ПИСАТЬ) | x | x | |||
REWRITE (ОБНОВИТЬ) | x | ||||
START (ПОДВЕСТИ) | x | ||||
DELETE (УДАЛИТЬ) | x |
(5) Файл может быть открыт с фразами INPUT (ВХОДНОЙ), OUTPUT (ВЫХОДНОЙ) и I-O (ВХОДНОЙ-ВЫХОДНОЙ) в одной и той же единице исполнения. После первоначального выполнения оператора OPEN (ОТКРЫТЬ) для файла каждому последующему выполнению оператора OPEN (ОТКРЫТЬ) для этого же файла должно предшествовать выполнение для него оператора CLOSE (ЗАКРЫТЬ) .