Recent Posts
다은하게
[SQL]3 - 5. 치환 변수 본문
■ 치환 변수
※ 단일 앰퍼샌드(&) 및 이중 앰퍼샌드(&&) 치환을 사용하여 값을 임시로 저장한다. ※ 치환 변수를 사용하여 다음을 보완할 수 있다. • WHERE 조건 • ORDER BY 절 • 열 표현식 • 테이블 이름 • 전체 SELECT 문 |
■ & 치환변수 사용
※ 변수 앞에 앰퍼샌드(&)를 붙여 유저에게 값을 요청한다.
SELECT employee_id, last_name, salary, department_id
FROM employees
WHERE employee_id = &employee_num; -- 유저에게 employee_num 변수 값 요청
/* Query 결과 스크립트 출력 */
이전:SELECT employee_id, last_name, salary, department_id
FROM employees
WHERE employee_id = &employee_num
신규:SELECT employee_id, last_name, salary, department_id
FROM employees
WHERE employee_id = 101
EMPLOYEE_ID LAST_NAME SALARY DEPARTMENT_ID
----------- ------------------------- ---------- -------------
101 Kochhar 17000 90
■ 문자 및 날짜 값에 치환변수 사용
SELECT last_name, department_id, salary*12
FROM employees
WHERE job_id = '&job_title';
/* Query 결과 스크립트 출력 */
이전:SELECT last_name, department_id, salary*12
FROM employees
WHERE job_id = '&job_title'
신규:SELECT last_name, department_id, salary*12
FROM employees
WHERE job_id = 'IT_PROG'
LAST_NAME DEPARTMENT_ID SALARY*12
------------------------- ------------- ----------
Hunold 60 108000
Ernst 60 72000
Lorentz 60 50400
■ 열 이름, 표현식 및 텍스트 지정
SELECT employee_id, last_name, job_id, &column_name -- column_name 치환변수
FROM employees
WHERE &condition -- condition 치환변수
ORDER BY &order_column; -- order_column 치환변수
■ && 치환변수 사용
※ 유저가 매번 값을 입력하지 않고, 변수 값을 재사용하려는 경우 이중 앰퍼샌드(&&)를 사용한다.
SELECT employee_id, last_name, job_id, &&column_name -- &&
FROM employees
ORDER BY &column_name; -- &
-- column_name 변수 값 요청을 한 번만 한다.
/* Query 결과 스크립트 출력 */
이전:SELECT employee_id, last_name, job_id, &&column_name
FROM employees
ORDER BY &column_name
신규:SELECT employee_id, last_name, job_id, department_id
FROM employees
ORDER BY department_id
EMPLOYEE_ID LAST_NAME JOB_ID DEPARTMENT_ID
----------- ------------------------- ---------- -------------
200 Whalen AD_ASST 10
201 Hartstein MK_MAN 20
202 Fay MK_REP 20
144 Vargas ST_CLERK 50
143 Matos ST_CLERK 50
142 Davies ST_CLERK 50
141 Rajs ST_CLERK 50
124 Mourgos ST_MAN 50
103 Hunold IT_PROG 60
104 Ernst IT_PROG 60
107 Lorentz IT_PROG 60
EMPLOYEE_ID LAST_NAME JOB_ID DEPARTMENT_ID
----------- ------------------------- ---------- -------------
174 Abel SA_REP 80
176 Taylor SA_REP 80
149 Zlotkey SA_MAN 80
101 Kochhar AD_VP 90
100 King AD_PRES 90
102 De Haan AD_VP 90
206 Gietz AC_ACCOUNT 110
205 Higgins AC_MGR 110
178 Grant SA_REP
20개 행이 선택되었습니다.
☞ Github.DaaEun - 3.데이터제한 및 정렬 예제 적용 바로가기
☞ 클라우드 데이터베이스 Oracle 12c 가이드
☞ Oracle Database 12c New Features
|
'오라클 > SQL' 카테고리의 다른 글
[SQL]3 - 6. DEFINE 및 VERIFY 명령 (0) | 2021.08.28 |
---|---|
[SQL]3 - 4. Query의 SQL 행 제한 절 (0) | 2021.08.27 |
[SQL]3 - 3. ORDER BY : 행 정렬 (0) | 2021.08.27 |
[SQL]3 - 2. 연산자 우선 순위 규칙 (0) | 2021.08.27 |
[SQL]3 - 1. 여러가지 방법으로 행 제한 (0) | 2021.08.27 |
Comments