- PL/SQL block이 아닌 환경(SQL*Plus, iSQL*Plus)에서 생성

  - PL/SQL block이 종료되어도 값을 읽을 수 있다

  - 서버와 연결이 끊어지면 값을 참조할 수 없다 (cf. 클라이언트(환경) 종료)



  * 바인드 변수 선언 및 확인: SQL*Plus Command


- 선언: VAR[IABLE] [variable [type]]


- 확인: VAR[IABLE] [varaiable]



  * 바인드 변수 사용

    : 바인드 변수 이름 앞에 :(콜론)을 붙임


   --------------------------


var

SP2-0568: 바인드 변수가 정의되지 않았습니다.


var a number     -- NUMBER 형 바인드 변수에 (p, s) 지정할 수 없음 


var

변수   a

데이터유형   NUMBER


var a

데이터유형   NUMBER


print a

         A

----------



begin

 select avg(sal) into :a

 from emp;

end;

/


print a

        A

----------

2073.21429

disconnect


print a

SP2-0640: 연결되지 않았습니다.

SP2-0641: "PRINT"(이)가 서버로 연결하는데 필요합니다


var a

변수   a

데이터유형   NUMBER


connect ??/??@211.183.3.52:1521/orcl

연결되었습니다.


print a

        A

----------

2073.21429


select * from emp

where sal >= :a;


exit


sqlplus top20/top20@211.183.3.52:1521/orcl


print a

SP2-0552: 바인드 변수 "A" 가 정의되지 않았습니다.


var a

SP2-0552: 바인드 변수 "A" 가 정의되지 않았습니다.

+ Recent posts