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ステートメントでバインド変数を実行しようとすると、このエラーが発生します。しかし、バインド変数の代わりに値を入力すると、この挿入ステートメントが正しくなります。私はここで何が間違っているのですか?