Хранить количество записей, возвращаемых в переменную - PullRequest
0 голосов
/ 04 октября 2018

При выполнении следующего кода

DECLARE
        DOCExit varchar2(255);
BEGIN
    IF ( :DOC IS NOT NULL ) THEN
            DOCExit := SELECT COUNT(*) FROM DOCUMENTS WHERE ID=:DOC;
            MESSAGE(DOCExit);
    END IF;
END;

я получаю это сообщение об ошибке:

enter image description here

Я пытаюсь сделать запростаблицу базы данных DOCUMENTS и хранить количество записей, возвращаемых из запроса в переменную DOCExit.

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

Измените код для использования предложения INTO для любого вывода.В запросах выбора SQL возвращаются значения через предложение INTO, поскольку вы также можете запросить несколько столбцов.

DECLARE
    DOCExit varchar2(255);
BEGIN
IF ( :DOC IS NOT NULL ) THEN
        SELECT COUNT(*) into DOCExit  FROM DOCUMENTS WHERE ID=:DOC;
        MESSAGE(DOCExit);
END IF;
END;
0 голосов
/ 04 октября 2018

Вам нужно использовать SELECT...INTO...:

DECLARE
  DOCExit varchar2(255);
BEGIN
  IF :DOC IS NOT NULL THEN
    SELECT COUNT(*)
      INTO DOCExit
      FROM DOCUMENTS
      WHERE ID = :DOC;

    MESSAGE(DOCExit);
  END IF;
END;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...