【发布时间】:2012-11-26 01:27:39
【问题描述】:
当我只想在工作 ID 中显示员工的最高工资时,我一直遇到这些问题
ORA-06550:第 12 行,第 6 列: PL/SQL: ORA-00933: SQL 命令未正确结束 ORA-06550:第 8 行,第 6 列: PL/SQL:忽略 SQL 语句这是我的代码:
DECLARE
lvc_jb_id VARCHAR2;
lvn_max_sal NUMBER;
BEGIN
SELECT max(salary), job_id
INTO lvn_max_sal, lvc_jb_id
FROM EMPLOYEES
group by job_id
DBMS_OUTPUT.PUT_LINE('MAX SALARY for job_id is'|| lvn_max_sal);
DBMS_OUTPUT.PUT_LINE('job id '|| lvc_jb_id);
END;
谁能告诉我我做错了什么?
【问题讨论】:
-
1)
group by job_id后面的分号丢失 2) varchar2 变量的长度必须指定lvc_jb_id VARCHAR2->lvc_jb_id VARCHAR2(<<length>>) -
我的新代码产生了一个新问题,它说:ORA-01422:精确提取返回的行数超过了请求的行数。这是我的新代码:
DECLARElvc_jb_id VARCHAR2(50);lvn_max_sal NUMBER;BEGINSELECT max(salary), job_idINTO lvn_max_sal, lvc_jb_idINTO lvn_max_sal, lvc_jb_idFROM EMPLOYEESgroup by job_id;DBMS_OUTPUT.PUT_LINE('MAX SALARY for job_id is'|| lvn_max_sal);DBMS_OUTPUT.PUT_LINE('job id '|| lvc_jb_id);@987654335s>5
标签: oracle