728x90
치환 변수 사용
sql 파일 실행 결과를 출력할 때 sql 파일에 인자를 넣고 싶은 경우 치환 변수를 사용하면 됨.
먼저
sql 파일에는 인자값이 들어갈 곳에 치환 변수(&1 등)를 작성.
예시) sql 파일
set heading off feedback off pagesize 0 verify off;
select value from v$parameter where name = '&1';
exit;
이후 sql 파일을 실행 할 때, 아래와 같이 이용하면 됨.
SQL> @sql파일명 "인자값"
또는, sqlplus를 이용해 OS 단에서 sql 파일을 실행하고 싶을 경우
$ sqlplus -S / as sysdba @sql파일명 "인자값"
&1로 입력한 곳에 sqlplus의 마지막에 인자로 넣어준 인자값이 대입되어 실행됨.
사용 예시
쉘 스크립트 작성 시 input 파일에서 한 줄씩 단어를 읽고, 단어를 sql 파일에 인자로 넣고 싶을 때
PARAM_FILE="input.txt"
while IFS= read -r param || [ -n "$param" ]; do
# 빈 줄 무시
[ -z "$param" ] && continue
# SQL 파일을 실행하여 해당 파라미터의 값을 조회합니다.
VALUE=$(sqlplus -S / as sysdba @param_query.sql "$param")
done < "$PARAM_FILE"
728x90
'Database > Oracle' 카테고리의 다른 글
[Oracle] 19c Statspack(perfstat) 사용 가이드 (0) | 2025.03.17 |
---|---|
[Oracle] AWR 스냅샷 보관 일수(retention) / 수집 주기(interval) 설정 방법 (0) | 2025.03.11 |
[Oracle] v$ 와 dba_ 뷰는 어떻게 다를까? (0) | 2025.03.06 |
[Oracle] 실행 계획 조회 뷰: v$sql_plan vs dba_hist_sql_plan (0) | 2025.03.06 |
[Oracle] 쉘에 SQL 쿼리문 결과값 출력하는 방법 (0) | 2025.03.04 |