вставка данных не происходит в оракуле - PullRequest
0 голосов
/ 04 октября 2019

Я новичок в plsql. У меня есть таблица, в которую мне нужно вставить данные (некоторые фиктивные данные). Итак, я подумал использовать блок plsql, а при использовании For loop он будет вставлять данные автоматически. Блок plsqlуспешно запущен, но данные сохраняются как пустые. Я пробовал блок:

declare
v_number1 number;
v_number2 number;
v_number3 number;
begin
For Lcntr IN 2..17
LOOP
v_number1 := v_number1+1;
v_number2 := v_number2+2;
v_number3 := v_number3+3;
  Insert into stu.result(res_id,stu_id,eng,maths,science) values (stu.seq_no.NEXTVAL,Lcntr,v_number1,v_number2,v_number3);
END LOOP;
end;

Но моя таблица загружается как: (пожалуйста, игнорируйте первые две строки данных, я вставил их вручную):

enter image description here

Данные по русскому языку, математике, естественным наукам не вводятся. Почему это происходит?

1 Ответ

3 голосов
/ 04 октября 2019

Это потому, что ваши переменные NULL. NULL + 1 = NULL.

Если вы измените объявление на

v_number1 number := 0;
v_number2 number := 0;
v_number3 number := 0;

, что-то может произойти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...