는 :숫자 값이 null 값과 같은 이유는 무엇입니까? 내가 teststatement 다음 한
DECLARE
CURSOR cur_my_example_old IS
SELECT meo.*
FROM my_example_old meo
ORDER BY meo.example_nr, meo.example_var;
R_my_example_old my_example_old%ROWTYPE;
R_my_example my_example%ROWTYPE;
R_my_example_assignment my_example_assignment%ROWTYPE;
T_example_nr my_example.muster_nr%TYPE;
T_example_var my_example.muster_var%TYPE;
BEGIN
FOR R_my_example_old IN cur_my_example_old LOOP
BEGIN
IF my_example_old.example_nr != T_example_nr OR
my_example_old.example_var != T_example_var THEN
R_my_example.example_nr := my_example_old.example_nr;
R_my_example.example_var := my_example_old.example_var;
R_my_example_assignment.example_nr := my_example_old.example_nr;
R_my_example_assignment.example_var := my_example_old.example_var;
R_my_example_assignment.example_nr_2 := my_example_old.example_nr_2;
R_my_example_assignment.example_var_2 := my_example_old.example_var_2;
INSERT INTO my_example VALUES R_my_example;
INSERT INTO my_example_assignmentVALUES R_my_example_assignment;
ELSE
R_my_example_assignment.example_nr := my_example_old.example_nr;
R_my_example_assignment.example_var := my_example_old.example_var;
R_my_example_assignment.example_nr_2 := my_example_old.example_nr_2;
R_my_example_assignment.example_var_2 := my_example_old.example_var_2;
INSERT INTO my_example_assignment VALUES R_my_example_assignment;
END IF;
T_example_nr := my_example_old.example_nr;
T_example_var := my_example_old.example_var;
END;
END LOOP;
END;
나는 새로운 데이터 모델의 원인에 my_example_assignment하는 my_example하는 my_example_old의 데이터를 한 부분에서 일부를 복사 할. 그것은 예상되지만으로 작동하는 if 문 이유 :
IF my_example_old.example_nr != T_example_nr OR
my_example_old.example_var != T_example_var THEN
처음 루프 사실이다 ???T_example_nr
및 T_example_var
은 null이고 my_example_old.example_nr
은 16433 (숫자 (6))이고 my_example_old.example_var
은 3 (number (2))!?!?!
이 동작을 이해할 수 없습니다! 예를 들어, T_example_nr
및 T_example_var
을 -1로 초기화하면 해당 값은 모두 같고 같지 않습니다.
설명 된 것처럼 이것이 왜 처리되는지 누군가가 설명 할 수 있습니까?
일어날 수 없습니다! 'number! = NULL'은 항상'false'입니다.'IF' 안에'dbms_output.put_line()'을 추가 했습니까? 실제로 출력했는지 확인하고 싶습니다. –