Oracle から「ORA-06502: PL/SQL: 数値または値のエラー: 文字から数値への変換エラー ORA-06512: 行 15 06502 で発生しました。00000 - "PL/SQL: 数値または値のエラー %s」というエラーが表示されます。
DECLARE
idnumber NUMBER(10);
initials VARCHAR2(100);
userid VARCHAR2(100);
old_initials VARCHAR2(100);
CURSOR cursor1 IS
SELECT s_first, s_last FROM tst_student ORDER BY s_first;
student cursor1%ROWTYPE;
BEGIN
FOR student IN cursor1 LOOP
idnumber :=1;
old_initials := SUBSTR(student.s_first,1,1) || SUBSTR(student.s_last,1,1);
initials := SUBSTR(student.s_first,1,1) || SUBSTR(student.s_last,1,1);
IF initials = old_initials THEN
userid := old_initials || '00' || idnumber + 1;
ELSE idnumber := 1;
END IF;
DBMS_OUTPUT.PUT_LINE(userid);
END LOOP;
END;
それが不平を言っている行は userid := old_initials || です。'00' || ID 番号 + 1;
ありがとう