Считайте STDIN (SYSIN) в КОБОЛе

Вы ищете ОБНОВЛЕНИЕ не вставлено.

UPDATE mytable
SET    table_column = 'test';

UPDATE изменит значения существующих строк (и может включать WHERE, чтобы он влиял только на определенные строки), тогда как INSERT добавляет новую строку (что выглядит так, как будто она изменила только последнюю строку, но фактически добавляется новая строка с этим значением).

8
задан MC Emperor 20 January 2017 в 16:04
поделиться

3 ответа

На форумах OpenCOBOL мне было предложено следующее.

SELECT SYSIN ASSIGN TO KEYBOARD ORGANIZATION LINE SEQUENTIAL.

Это ключевое слово KEYBOARD, которое заставляет его работать.

Очевидно, ДИСПЛЕЙ - это аналогичное слово для STDOUT , но я этого не проверял.

5
ответ дан 5 December 2019 в 20:18
поделиться

Мой COBOL восходит к миникомпьютеру DPS-6, работающему на GCOS-6, и я продолжал дотрагиваться до этого в 1992 году. Но тогда мы использовали ACCEPT для получения входных данных со стандартного ввода.

3
ответ дан 5 December 2019 в 20:18
поделиться

Вы можете просто использовать ключевое слово ACCEPT для захвата вывода с клавиатуры. Проходите цикл до тех пор, пока не нажмете ключевое слово, такое как 'end', или вы можете использовать шестнадцатеричное значение EOF (1A, я считаю).

Как в:

1000-YOUR-PARAGRAPH.
  ACCEPT WS-YOUR-VARIABLE.
  DISPLAY WS-YOUR-VARIABLE.
  IF WS-YOUR-VARIABLE IS NOT EQUAL TO EOF
    THEN GO TO 1000-YOUR-PARAGRAPH
  ELSE GO TO 1090-EXIT
  END-IF.
1090-EXIT.
  EXIT.

Это займет все до маркера EOL (например, return ).

0
ответ дан 5 December 2019 в 20:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: