Language/SQL
[SQL] 바인드 변수(Bind Variable)
eunzae
2022. 12. 29. 14:00
바인드 변수(Bind Variable)
쿼리의 재사용성을 높이기 위해 변수를 설정하고 값을 할당하는 기능
VAR V1 NUMBER; -- 변수선언
EXEC :V1 := 2; -- 값 할당
SELECT :V1 AS C1
FROM DUAL; -- C1 열에 2가 입력된 결과가 출력됨
- VAR 명령어로 변수를 선언
- EXEC 명령어로 값을 할당
- 변수를 선언하고 사용할 때에는 : 구분자를 변수명 앞에 추가해서 사용
Parsing 부하 감소를 위해 재사용 가능한 Static SQL 문장의 작성
- SQL 문에 상수 값을 사용하여 작성 할 떄 서로 다른 상수 값은 Parsing 시 다른 SQL 문으로 인식하여 재 Parsing 하므로 Bind Variable을 사용하여 같은 SQL이 공유될 수 있도록 함
- Parsing은 CPU를 많이 소모하므로 Parsing을 피할 수 있도록 SQL이 공유되게 작성함
<바인드변수 미사용: 다른 SQL문으로 인식되어 재 Parsing 됨>
SELECT NAME
FROM EMP
WHERE NUM = 9;
SELECT NAME
FROM EMP
WHERE NUM = 10;
<바인드변수 사용>
SELECT NAME
FROM EMP
WHERE NUM = :num;