반응형
실행 배치
shellCall.bat

start sqlplus /nolog @./tobe.sql 접속계정@tns내DB명/비밀번호

tobe.sql 파일구성
CONN &1
SET MARKUP HTML ON SPOOL ON
SET TERM OFF
SET TIMING ON
SPOOL C:₩RESULT_TOBE.XLS
SET LINESIZE 10000
SET PAGRSIZE 1

/* 특정 컬럼 사이즈 증가 */
COLUMN OBJECT_ID 999999999999999999

/* START SQL */
SELECT * FROM TAB;

SELECT * FROM DICTIONARY;

SELECT * FROM ALL_OBJECTS;

SPOOL OFF
SET MARKUP HTML OFF SPOOL OFF
EXIT;
반응형
반응형

SQL Plus 명령어 모음

 명령어  설명
 L[IST]  SQL PLUS 버퍼상에 있는 내용을 출력
 L[IST] m   SQL PLUS 버퍼상에 있는 m번째 라인만 출력
 L[IST] m n  SQL PLUS 버퍼상에 있는 m번째 라인부터 n번째라인까지 출력
 R[UN]  SQL PLUS 버퍼상에 있는 SQL문을 실행 
 n 내용  SQL PLUS 버퍼상에 있는 n 번째 라인의 값을 "내용"으로 채워짐  
 I[NSERT]  SQL PLUS 버퍼상에 있는 제일 마지막 라인 다음에 추가됨. 
 DEL  SQL PLUS 버퍼상에 있는 제일 마지막 라인을 삭제함.
 DEL m  SQL PLUS 버퍼상에 있는 m 번째 라인을 삭제함.
 DEL m n  SQL PLUS 버퍼상에 있는 m 번째 라인부터 n번째 라인까지 삭제함.
 A[PPEND] "내용"  SQL PLUS 버퍼상에 있는 제일 마지막 라인에 "내용"을 추가함.
 C[hange]/old_str/new_str/  SQL PLUS 버퍼상에 있는 old_str 문자열을 new_str 문자열로 변경처리함.
 CL[EAR] BUFF[ER]  SQL PLUS 버퍼상에 있는 내용을 모두 삭제 
 CL[EAR] SCR[EEN]  SQL PLUS 화면을 깨끗하게 함


 List 예제

SQL> list
     1  select
     2  *
     3  from
     4  tab
     5*

 n 내용 예제

SQL> 2 tname
SQL> list
     1  select
     2  tname
     3  from
     4  tab
     5*

 I[nsert] 예제


SQL> list
     1  select
     2  tname
     3  from
     4  tab
     5*
SQL> i
     6  where tname='KKK';

TNAME
------------------------------
KKK


 DEL 예제

SQL> list
     1  select
     2  tname
     3  from
     4  tab
     5*
SQL> i
     6  where tname='KKK';

TNAME
------------------------------
KKK

SQL> del
SQL> list
     1  select
     2  tname
     3  from
     4  tab
     5*


 A[ppend] 예제


SQL> list
     1  select
     2  tname
     3  from
     4  tab
     5* where tname='KKK'4
SQL> del 5
SQL> a where tname='KKK'
     4* tabwhere tname='KKK'
SQL> list
     1  select
     2  tname
     3  from
     4* tabwhere tname='KKK'

 C[hange] 예제

SQL> list
     1  select
     2  tname
     3  from
     4* where  ='KKK'
SQL> c /where/where tname/
     4* where tname  ='KKK'
SQL> list
     1  select
     2  tname
     3  from
     4* where tname  ='KKK'

반응형
반응형

명령별 역할...

화면 설정 방법
SET LINESIZE 300 : 화면 왼쪽 끝부터 오른쪽 끝까지 300자로 제한함.
SET PAGESIZE 100 : 컬럼헤딩부터 다음컬럼 헤딩까지 1PAGE로 하며 이구간을 100라인으로 제한함

기본적인 조회방법(화면)
SHOW ALL : 모든 설정값들을 보여줌.
SHOW PAGESIZE : 현재 설정되어 있는 페이지 사이즈 정보 조회

SET TIME ON : 프롬프트에 현재 시간이 표시됨
SQL> 쉘이 => 11:33:23 SQL> 과 같은 형태로 변경됨


1. 접속할 때 마다 변경 방법
sqlplus 아디/패스워드 를 통해 DB 접근후
 SQL> set linesize 300
SQL> COL FILE_NAME FORMAT A40



이런식으로 사용하여 가능하나... 귀찮다... 가끔 쓰는 DB나 다른사람이 관리하는 DB에 접속할 때 사용하면 좋다


2. 영구히... 설정하는 방법
 $ORACLE_HOME/product/버젼/데이터베이스이름/sqlplus/admin/glogin.sql 파일을 수정...

쉽게 찾기
 $find / -name "glogin.sql" -print

파일의 위치가 자동으로 나옴.

그파일의 제일 아래 부분에

다음과 같이 추가함

 -- User Define Format
SET LINESIZE 300
SET PAGESIZE 100
COL FILE_NAME FORMAT A40
COL TABLESPACE_NAME FORMAT A20


반응형
반응형

아래와 같이 간단히 SQL PLUS 상에서 설정하면

출력이 이쁘게 나온다

REM
REM Pretty SQLPLUS
REM

SET PAGES 200 LINES 200
SET FEEDBACK OFF

COL OBJECT_TYPE FORMAT A12
COL NAME FORMAT A30




 

 

반응형

'Database > ORACLE' 카테고리의 다른 글

테이블의 주석을 변경해 보자  (0) 2009.03.07
오라클 시스템 모니터링 (Monitoring for Oracle)  (0) 2009.03.07
UNDO TABLESPACE SIZE  (0) 2009.03.07
테이블 스페이스 조회 쿼리  (0) 2009.03.07
SQLPLUS 환경 설정 하기  (0) 2009.03.07
반응형

-- linesize도 record 길이만큼 지정하여 아래로 구분되지 않도록 합니다.
SQL>SET LINESIZE 300

-- 명령이 display되지 않도록 합니다.
SQL>SET ECHO OFF

-- 조회 결과가 화면에 나오지 않도록 합니다.
SQL>SET TERM OFF

-- data가 들어가는 화일 이름을 지정 합니다.
SQL>SPOOL C:\test.txt

-- 스크립트 파일을 실행 시킵니다.
SQL>@C:\SpoolSelect.sql

SQL>SPOOL Off

test.txt file이 생성 되었는지 확인 합니다.


2. 필드 값 구분하기.

1-1.select empno||' '||ename from emp; <== Tab으로 구분

1-2.select empno||','||ename from emp; <== 콤마로 구분

2-1.select empno||'"'||ename from emp; <== 필드 값에 큰따옴표 붙이는 방법
(작은 따옴표는 예약어 이기 때문에 에러 남)
반응형

'Database > ORACLE' 카테고리의 다른 글

UNDO TABLESPACE SIZE  (0) 2009.03.07
테이블 스페이스 조회 쿼리  (0) 2009.03.07
ORA-01659 해결방법  (1) 2009.03.07
ORA-12541 오류 대처 방법  (0) 2009.03.07
오라클 IMP 사용방법  (0) 2009.03.07

+ Recent posts