셸 스 크 립 트 와 sqlplus 간 의 상호작용
1539 단어 sqlplus
#!/bin/bash
result=`sqlplus -S system/password <<EOF
set heading off feedback off pagesize 0 verify off echo off numwidth 4
select 1 from dual;
exit
EOF`
echo $result # sql
셸 의 인 자 를 sqlplus 에 전달 합 니 다.
#!/bin/bash
TEST="table_name"
sqlplus -S system/password <<EOF
select * from user_tables where table_name = upper('$TEST');
exit
EOF
sqlplus 결 과 는 여러 열 값 을 포함 합 니 다 \ # 이전 로 그 를 사용 하 는 예 입 니 다.
result=`sqlplus -S system/password <<EOF
set heading off feedback off pagesize 0 verify off echo off numwidth 4
select t2.used,t1.maxsize from (select count(file_name)*32 maxsize from dba_data_files where tablespace_name ='$TBS_NAME') t1,(select trunc(sum(bytes)/1024/
1024/1024) used from dba_data_files where tablespace_name='$TBS_NAME') t2;
exit
EOF`
USED=`echo $result |cut -d " " -f1`
MAXSIZE=`echo $result |cut -d " " -f2`
마지막 두 줄 은 다 중 결과 집합 에 대한 처리 이 며, 이 조회 문 구 는 두 열 로 되 돌아 갈 것 이다.2 열 이 든 다 열 이 든시스템 은 모두 공백 을 구분자 의 순서 로 출력 한다.그래서 우 리 는 위의 두 줄 을 통 해 필요 한 값 을 얻 을 수 있다.열 수 나 줄 수가 많 으 면 for 등 다른 방법 을 사용 할 수 있다.하지만 되 돌아 오 는 결과 집합 데이터 자체 에 빈 칸 이 있 는 지 주의 하 세 요 ~ 다 치지 않도록 하 세 요.