본문 바로가기

Oracle

5.SQL*PLUS명령어

LIST(L)

  • 명령어 버퍼의 내용을 나타내기 위한 명령어이다.
  • 버퍼에 저장된 모든 SQL문 또는 검색한 라인의 SQL문을 나타낸다.
  • 예) 연봉을 계산하는 쿼리문을 작성하여 실행한 후, 이를 다시 한 번 나타내는 쿼리문

    SQL> SELECT ename, sal*12 FROM emp; SQL> LIST


/

  • QL 버퍼에 저장된 쿼리문(가장 최근에 실행한 쿼리문)을 실행하는 명령어이다.
  • SQL 문을 보여주지 않고 바로 실행한다.

    SQL> /

RUN(R)

  • SQL 버퍼 내의 내용을 보여주고 실행하는 명령어이다.
  • 버퍼에 저장된 SQL 문을 보여주고 실행한다.

    SQL> RUN




오라클은 현재 실행중인 SQL문을 명령 버퍼에 보관하는데 보관중인 명령 버퍼의 내용을 영구적으로 기록하기 위해 파일에 저장하는 SQL*PLUS 파일 명령어에 대해 살펴보겠다.



EDIT(ED)

  • 파일의 내용을 유닉스나 윈도우즈와 같은 에디터로 읽어 편집할 수 있도록 한다.
  • SQL 버퍼 내의 내용을 보여주고 실행하는 명령어이다.
  • 예) 연봉 계산을 보다 정확하게 하기 위해서 커미션(comm)까지 포함해서 계산하는 쿼리문으로 변경하는 방법이다.

    SQL> SELECT ename, sal*12 FROM emp;
    SQL> ED 이런 메모장이 뜬다. cmd에서 SQL 명령문에서 종결문자는 (;) 이지만 메모장에서 열면 (/) 인것을 환인한다. 이 메모장이 위치한 경로를 찾아보면 [D:\app\min\product\11.2.0\dbhome_2\BIN] 이곳이다. 저자는 [Oracle 11g 설치 및 환경 구성]에서 10번의 순서 [디렉토리 및 비밀번호 설정]에서 D드라이브에 설치했다.

  • 만약 [SP2-0110: 저장 파일 "afiedt.buf"(를)을 생성할 수 없습니다.]라는 오류 메시지가 뜨면 밑에 사진과 같이 SQL Plus를 관리자 권한으로 실행하면 된다.


  • HOST

    • Oracle을 종료하지 않고 OS 명령을 수행할 수 있도록 OS환경으로 잠시 빠져 나갈 수 있도록 하는 명령어이다.
    • OS Prompt 상에서 Exit 하면 다시 Oracle 환경으로 돌아 온다.

    • HOST 명령어는 대체 어떤 경우에 쓰이는가? SQL명령문이 저장된 버퍼는 "afiedt.buf"와 같은 파일 형태이다. 만약 오라클을 종료하지 않고 DOS 명령어인 dir를 사용하여 afiedt.buf 파일이 존재하는 것을 확인하고 싶을 때 DOS 환경으로 나가는 HOST 명령어가 쓰인다.

      SQL> HOST D:\app\min\product\11.2.0\dbhome_2\BIN> dir "afiedt.buf" 파일이 있는지 확일할 수 있다. 그 후 EXIT 명령어를 실행하면 SQL 프롬프트가 나타난다.

      D:\app\min\product\11.2.0\dbhome_2\BIN> EXIT

SAVE

  • SQL 버퍼 내의 현재 내용을 실제 파일로 저장하는 명령어이다.
  • .sql 파일을 생성하기 위해서 사용되는 명령어이다.
  • SAVE 옵션으로 사용할 수 있는 명령어
    • REPLACE : 이미 존재하는 파일에 새로운 내용으로 덮어쓰길 원 할 경우 사용한다.
    • APPEND : 이미 존재하는 파일 끝에 마지막으로 실행한 명령어가 추가 된다.
  • 마지막에 실행한 명령어를 확장자가 '.sql'인 파일에 저장하기
  • 예) 연봉을 계산하기 위한 방법이다.

    SQL> SELECT ename, sal*12+NVL(comm, 0) FROM emp; 마지막으로 실행 한 명령어를 'AAA'라는 이름의 파일안에 저장한다. SQL> SAVE AAA HOST 명령어로 DOS 환경으로 나가 dir 명령어를 실행하여 방금 만든 AAA.sql 파일이 있는지 확인한다. EXIT 명령어를 사용하여 SQL 프롬프트로 가서 DE AAA를 실행하면 마지막에 실행한 SQL문이 메모장에 저장되어 있음을 확인할 수 있다.

@

  • SQL 파일에 저장된 내용을 실행하는 명령어이다.
  • 확장자가 .sql인 파일에 저장되어 있는 쿼리문을 실행시키기 위해 사용한다.
  • SQL 파일은 일반적으로 여러 개의 쿼리문으로 저장을 해두는데 이런 경우에는 기술된 쿼리문들을 순차적으로 수행한다.


SPOOL

  • 오라클 화면을 갈무리하여 파일로 저장하는 명령어이다.
  • SAVE 명령어는 실행된 쿼리문만 저장하는데에 비해 SPOOL 명령어는 SQL문과 실행된 쿼리 결과를 파일에 기록하는 명령어이다.
  • 확장자는 .lst 이다.
  • SPOOL 명령어로 시작하고 SPOOL 명령어 옆에는 메모장의 이름을 기술한다.
  • 쿼리문을 2개 이상 실행해보고 반드시 SPOOL OFF 명령문을 써주어 화면 갈무리를 종료해준다.
  • 실행 쿼리문은 다음과 같다.

SQL> SPOOL BBB

SQL> SELECT ename, job FROM emp;

SQL> SELECT * FROM dept;

SQL> SPOOL OFF

  • SAVE 명령어를 배웠을 때 처럼 메모장이 디렉토리 폴더에 있는지 확인해보고 ED 명령어를 사용하여 메모장 안에 어떻게 저장 되어 있는지 확인해보고 SAVE 명령어를 썼을때와 어떻게 다른지 확인해보자.
  • 이때 ED 명령어를 쓸 때 '.lst' 확장자명을 꼭 붙여준다.


'Oracle' 카테고리의 다른 글

파티션 테이블  (0) 2018.04.23
6.SQL 함수  (0) 2018.04.22
4.데이터 구축을 위한 구문들  (0) 2018.04.22
3.SQL로그인, 데이터 타입  (0) 2018.04.22
2. SQL,SQL*PLUS,데이터조회  (0) 2018.04.22