SET SERVEROUTPUT ON
VARIABLE dept_id NUMBER
DECLARE
max_deptno NUMBER(3);
dept_name departments.department_name%TYPE :='Education';
BEGIN
SELECT MAX(department_id)
INTO max_deptno
FROM departments;
DBMS_OUTPUT.PUT_LINE ('The maximum department no is : ' || max_deptno);
:dept_id:=(max_deptno+10);
INSERT INTO departments (department_name, department_id,location_id)
VALUES(dept_name, :dept_id, NULL);
DBMS_OUTPUT.PUT_LINE ('The number of rows affected : ' || SQL%ROWCOUNT);
END;
/
错误报告:ORA-01400:无法将 NULL 插入 ("SYSTEM"."DEPARTMENTS"."DEPARTMENT_ID") ORA-06512:在第 10 行 01400.00000 -“无法将 NULL 插入 (%s)” *原因:
*操作: 最大部门号 : 190
尝试在 oracle 语句中执行绑定变量时出现此错误。但是如果我输入一些值而不是绑定变量,我会正确地得到这个插入语句。我在这里做错了什么?