나 취준생/SQL

SQL - 치환 변수 (&)

록리9 2020. 11. 10. 10:26
320x100

SQL 치환 변수 (&) 사용법


SQL 문장을 수행할 때 매번 검색해야하는 데이터 값이 다른데

SQL 문장이 같을 때 검색을 용이하게 하는 오라클 SQL 문법


예 : 사원 번호, 사원 이름, 월급 출력하기

select empno, ename, sal

 from emp

 where empno= &사원번호;




여기서 7788을 입력하면,



사원 번호 7788인 SCOTT의 데이터가 나온다.


예제 : 동전을 n번 던져서 앞면이 나올 확률을 구하기


undefine 던진횟수

select count(*) / &&던진횟수 as "동전이 앞면이 나올 확률"

 from ( select round ( dbms_random.value(0,1) as 동전

from dual

connect by level <= &던진횟수)

where 동전 = 0;



치환 변수가 두 번 있으면 보통은 던진횟수를 두번 입력해야하는데

이렇게 한번만 입력하게하려면 엔퍼센트(&)를

앞에 두 개 쓰고 뒤에 한 개를 쓰면 된다.

그런데 SQL 내에서 치환 변수시 사용하는 엔퍼센트(&)를 두 개를

한 번이라도 사용하게 되면 두 번째 실행할 때는 안 물어보고

아까 입력됐던 값으로 실행해버린다.

그래서 치환 변수 내의 내용을 비우려면

undefine 치환변수 이름을 미리 선언해줘야한다.



반응형