1
간단한 절차로 작성합니다. 발사의오라클의 값을 비교할 때 오류가 발생했습니다.
DECLARE
connection_id LINE.CONNECTION_ID%TYPE := 11009;
tmp_integer INTEGER;
BEGIN
SELECT COUNT(*) INTO tmp_integer FROM LINE WHERE LINE.CONNECTION_ID = 11009;
DBMS_OUTPUT.PUT_LINE(connection_id);
DBMS_OUTPUT.PUT_LINE(tmp_integer);
END;
결과 :
11009
3
그것은 좋은 결과입니다.
11009
30997
실수는 다음과 같습니다
DECLARE
connection_id LINE.CONNECTION_ID%TYPE := 11009;
tmp_integer INTEGER;
BEGIN
SELECT COUNT(*) INTO tmp_integer FROM LINE WHERE LINE.CONNECTION_ID = connection_id;
DBMS_OUTPUT.PUT_LINE(connection_id);
DBMS_OUTPUT.PUT_LINE(tmp_integer);
END;
그러나이 경우
내가 이상한 결과를 얻을 : 나는 CONNECTION_ID가 11009. 수정 후 만 3 행이?
예, 이것은 실수입니다. 감사! –
환영합니다. 추가 참고 사항 - PL/SQL 변수와 열 이름 간의 충돌 가능성을 줄이는 코딩 스타일을 채택하는 것이 좋습니다. v_COLUMN_NAME 또는 vCOLUMN_NAME - 코드에서 쉽게 찾아 낼 수 있었지만 커서가 길고 변수가 많은 패키지는 많은 시간 낭비 디버깅을 유발할 수 있습니다. – dpbradley