Oracle 存储返回到变量中的记录数

Oracle 存储返回到变量中的记录数,oracle,plsql,Oracle,Plsql,当运行以下代码时 DECLARE DOCExit varchar2(255); BEGIN IF ( :DOC IS NOT NULL ) THEN DOCExit := SELECT COUNT(*) FROM DOCUMENTS WHERE ID=:DOC; MESSAGE(DOCExit); END IF; END; 我收到以下错误消息: 我正在尝试查询数据库表文档,并将查询返回的记录数存储到变量DOCEx

当运行以下代码时

DECLARE
        DOCExit varchar2(255);
BEGIN
    IF ( :DOC IS NOT NULL ) THEN
            DOCExit := SELECT COUNT(*) FROM DOCUMENTS WHERE ID=:DOC;
            MESSAGE(DOCExit);
    END IF;
END;
我收到以下错误消息:


我正在尝试查询数据库表
文档
,并将查询返回的记录数存储到变量
DOCExit
中。您需要使用
选择…进入…

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;

您需要使用
选择…进入…

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;

将代码更改为对任何输出使用INTO子句。在SQL 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;

将代码更改为对任何输出使用INTO子句。在SQL 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;