Статус документа
Статус документа

ГОСТ 22558-89 (СТ СЭВ 6184-88, ИСО 1989-85) Язык программирования Кобол. Части 8-17

     4.3. Оператор DELETE (УДАЛИТЬ)

4.3.1. Назначение

Оператор DELETE (УДАЛИТЬ) логически удаляет запись из файла массовой памяти.

4.3.2. Общий формат

DELETE имя-файла-1 RECORD

[INVALID KEY ловелительный-оператор-1]

[NOT INVALID KEY повелительный-оператор-2]

[END-DELETE]

УДАЛИТЬ ЗАПИСЬ имя-файла

[ПРИ ОШИБКЕ КЛЮЧА повелительный-оператор-1]

[БЕЗ ОШИБКИ КЛЮЧА повелительный-оператор-2]

[КОНЕЦ-УДАЛИТЬ]

4.3.3. Синтаксические правила

(1) Фраза INVALID KEY (ПРИ ОШИБКЕ КЛЮЧА) не должна указываться для оператора DELETE (УДАЛИТЬ), который ссылается на файл с последовательным доступом.

(2) Фраза INVALID KEY (ПРИ ОШИБКЕ КЛЮЧА) должна быть указана в операторе DELETE (УДАЛИТЬ), который ссылается на файл не с последовательным доступом и для которого не определена процедура USE AFTER STANDARD EXCEPTION (ИСПОЛЬЗОВАТЬ ПОСЛЕ СТАНДАРТНОЙ ПРОЦЕДУРЫ ОШИБКИ).

4.3.4. Общие правила

(1) Файл, представленный именем-файла-1, должен быть файлом массовой памяти. Он должен быть открыт для ввода-вывода ко времени выполнения этого оператора (п.4.4 настоящей части).

(2) Для файлов с последовательным доступом последним оператором ввода-вывода, выполняемым для имени-файла-1 перед выполнением оператора DELETE (УДАЛИТЬ), должен быть успешно выполненный оператор READ (ЧИТАТЬ). Система управления массовой памятью логически удаляет из файла запись, которая была извлечена по оператору READ (ЧИТАТЬ).

(3) Для файла с произвольным доступом логически удаляется из файла запись, идентифицируемая значением данного, определенного как относительный ключ, связанный с именем-файла-1. Если файл не содержит записи с указанным ключом, возникает условие ошибки ключа (см. п.1.3.5 настоящей части).

(4) После успешного выполнения оператора DELETE (УДАЛИТЬ) идентифицированная запись логически удаляется из файла и становится недоступной.     

(6) Выполнение оператора DELETE (УДАЛИТЬ) не влияет на указатель позиции файла.

(7) При выполнении оператора DELETE (УДАЛИТЬ) обновляется значение состояния ввода-вывода, связанного с именем-файла-1 (см. п.1.3.4 настоящей части).

(8) Передача управления после успешного или неуспешного выполнения оператора DELETE (УДАЛИТЬ) зависит от наличия или отсутствия в операторе DELETE (УДАЛИТЬ) необязательных фраз INVALID KEY (ПРИ ОШИБКЕ КЛЮЧА) и NOT INVALID KEY (БЕЗ ОШИБКИ КЛЮЧА) (см. п.1.3.5 настоящей части).

(9) Фраза END-DELETE (КОНЕЦ-УДАЛИТЬ) ограничивает область действия оператора DELETE (УДАЛИТЬ) (см. ч.4, п.6.4.3).