개발공부 5번째 이야기
치환변수
- 단일 앰퍼샌드(&) 및 이중 앰퍼샌드(&&) 치환을 사용해 임시저장
- 쿼리문이 실행되기 전에 변환시키는 것임
salary 앞에 (&)치환변수를 사용한 경우 사용자가 직접 값을 입력할 수 있게 나옴.
나는 24000을 입력해 그 값이 나오도록 함.
문자나 날짜 값을 입력할 경우 작은 따옴표로 묶어야 함
ex) 문자 : '&job_id' , '&date'
where 절 뿐 아니라 열 이름, 표현식 및 텍스트도 지정할 수 있음
column_name은 salary로 condition은 salary>15000으로 order_column은 last_name을 입력함.
즉 쿼리문이 실행되기 전에 각 문자들을 미리 치환해준 것(= 바꿔줬다)
-> 즉, column_name의 경우 salary문자로 치환되어 쿼리가 완성됨.
치환 변수는 주로 게시글 제목 검색이나 사용자 검색의 경우 사용됨.
좀 더 자세히 보면 위의 예시처럼 쿼리문을 짰을 경우
사용자가 검색할 때 first_name만 입력하면 데이터가 나오게끔 만든것임.
이중 앰퍼샌드
- 변수 값을 재사용하려면 이중 앰퍼샌드(&&)를 붙이면 됨.
- &&를 사용하면 값을 한번만 입력해도 됨.
DEFINE
- 새로운 변수를 생성하고 값을 할당.
예시) DEFINE employee_num = 200인 경우 employee_num을 200으로 할당시킨 것임
반대로 UNDEFIN 사용시 DEFINE으로 했던 변수를 제거해줌
- 이중치환의 경우 자동 DEFINE 됨.
VERIFY, VERIFY OFF
- VERIFY는 치환 전까지 보여주며, VERIFY OFF는 치환 후의 결과만 출력
바인드 변수
- 치환과 다르게 쿼리를 그대로 인식하는 게 특징
- 즉, 변수값만 적용되어 새로운 쿼리로 인식하지 않음
- 치환 변수는 하드 파싱이고, 바인드 변수는 소프트 파싱이어서 효율성은 바인드 변수가 더 좋음!
- 사용방법 : VAR 명령어로 변수를 선언하고 EXEC 명령어로 값을 할당
: 실행할 때 :(콜론)구분자를 추가로 사용
위에 입력하면 bind입력이 뜨는데 값을 매번 바꿔서 검색할 수 있음.
'SQL 문 STUDY' 카테고리의 다른 글
SQL 함수 - TO_CHAR/TO_DATE/중첩 함수 (0) | 2022.12.27 |
---|---|
SQL 함수 - 대소문자 변환, 문자 조작, 숫자 함수 (0) | 2022.12.27 |
SQL - NULL/ ORDER BY (0) | 2022.12.26 |
SQL문 WHERE/문자열 및 날짜/비교 연산자/(%,/)/IN절/BETWEEN...AND (1) | 2022.12.26 |
SQL문 alias/연결 연산자/리터럴 문자열/대체인용연산자/중복행 및 중복제거/테이블 구조표시 (0) | 2022.12.26 |