2010-04-12 4 views
1

제목이 너무 선명하지 않다는 것을 압니다.이 사진은앰퍼샌드 (호스트 변수) 뒤에 DOT (.) 및 변수 이름의 일부로 고려합니까?

입니다. 나는 &을 사용하고 있습니다. $ a로 사용하고 있습니다. , 출력은 & a 및 & a입니다. 동일한 출력을 제공합니다. 와 왜 single (DOT) 이후에 &a는 오류를주지 않지만 어떤 문자 나 연산자 또는 와일드 문자를 넣으면 & a에 오류가 발생합니다.

이것은 코드입니다. & 정의에 대한

BEGIN 
    FOr i in &&a...3 LOOP 
    DBMS_OUTPUT.PUT_LINE(i||' '||&a.||' '||&a); 
END LOOP; 
END; 

출력

1 1 1 
2 1 1 
3 1 1 

답변

1

도트를 오는 구분 기호입니다. 대부분의 경우 차이점을 알 수는 없지만 변수 이름 뒤에 어떤 이유로 공백이나 유사한 문자가 없으면 혼동을 일으킬 수 있습니다. 예를 들어 변수에 문자열 ('&asomething')을 연결 한 경우 'asomething'이라는 변수를 요청합니다. 만약 당신이 '&a.something'으로했다면 'a'라는 변수를 물어볼 것이고 어떤 값이 공급 되든간에 끝 부분에 tack 'something'을 붙일 것입니다. &a 다음의 다른 문자는 변수 이름의 일부로 취급되거나 이름의 일부로 유효하지 않은 경우 오류를 발생시킵니다.

관련 문제