绑定变量未声明



我是PL/SQL的绝对初学者,我正在解决一些像这样的简单练习。为什么我得到错误:

Bind Variable "RESS," is NOT DECLARED
Bind Variable "MAXX" is NOT DECLARED

我怎样才能使它工作?

VARIABLE ress VARCHAR2(35)
VARIABLE maxx INT
BEGIN
SELECT department_name, count(*)
INTO :ress, :maxx
FROM employees e, departments d
WHERE e.department_id=d.department_id
GROUP BY department_name
HAVING COUNT(*) = (SELECT MAX(COUNT(*))
FROM employees
GROUP BY department_id);
END;
/
PRINT ress, maxx;

PL/SQL意味着甲骨文

我在SQL*Plus中运行这个(类似于你的代码,只是简化了),Oracle的命令行工具:

SQL> var ress varchar2(10);
SQL> begin
2    select 'a' into :ress from dual;
3  end;
4  /
PL/SQL procedure successfully completed.
SQL> print ress
RESS
--------------------------------
a
SQL>

如你所见,没有这样的错误。


您使用哪个工具?

可以这样试试:

VARIABLE ress VARCHAR2(35);
VARIABLE maxx INT;
BEGIN
SELECT department_name, count(*)
INTO :ress, :maxx
FROM employees e, departments d
WHERE e.department_id=d.department_id
GROUP BY department_name
HAVING COUNT(*) = (SELECT MAX(COUNT(*))
FROM employees
GROUP BY department_id);
END;
/
PRINT ress, maxx;

最新更新