오라클 8이상 부터는 SQL*Plus에서 COPY라는 명령어를 이용해서 테이블을 복사 할 수 있는
기능도 제공을 합니a다.
그런데 COPY명령어는 SQL*Net이 설치되어 있어야지만 사용 할 수 있습니다.
SQL*Net만 설치되어 있다면 다른 DB의 테이블도 복사를 해 올 수가 있습니다.
그리고 SQL*Plus에서만 사용 할 수 있습니다.
문법을 살펴보면은요..
SQL>COPY FROM 복사해올유저명 CREATE 생성할 테이블명 USING 원본 테이블 질의
간단하게 예제를 하나 들면..
SQL>COPY FROM scott/tiger@oracle CREATE emp2 USING select * FROM emp;
배열의 인출/바인드 크기는 15입니다. (배열 크기는 15)
작업이 완성되면 커밋됩니다. (복사 완료: 0)
최대 긴 크기는 80 입니다. (롱 80)
테이블 EMP가 생성되었습니다.
14 행이 선택되었습니다(scott@oracle 로부터).
14 행이 입력되었습니다(EMP 에).
14 행이 EMP( DEFAULT HOST 연결의)으로 커밋되었습니다.
실행을 하면 위와 가은 메세지가 화면에 나옵니다. 설명을 하면은요..
scott/tiger@oracle : tnsnames.ora파일에 oracle이라는 서비스명으로 설정한 DB의 scott/tiger유저로 접속을 해서 emp 테이블을 emp2라는 이름으로 복사를 합니다.
아래는 tnsnames.ora파일의 일부분 입니다.
============== tnsnames.ora ================
ORACLE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 211.175.43.24)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oracle)
)
)
============================================
USING 문 뒤에는 복사할 테이블의 데이터를 가져오는 SQL문을 넣습니다.
위의 방법은 기존에..테이블을 복사하는 방법중에
CREATE TABLE table_name AS SELECT ~~ 문으로 복사하는 방법과 비슷합니다.
기능도 제공을 합니a다.
그런데 COPY명령어는 SQL*Net이 설치되어 있어야지만 사용 할 수 있습니다.
SQL*Net만 설치되어 있다면 다른 DB의 테이블도 복사를 해 올 수가 있습니다.
그리고 SQL*Plus에서만 사용 할 수 있습니다.
문법을 살펴보면은요..
SQL>COPY FROM 복사해올유저명 CREATE 생성할 테이블명 USING 원본 테이블 질의
간단하게 예제를 하나 들면..
SQL>COPY FROM scott/tiger@oracle CREATE emp2 USING select * FROM emp;
배열의 인출/바인드 크기는 15입니다. (배열 크기는 15)
작업이 완성되면 커밋됩니다. (복사 완료: 0)
최대 긴 크기는 80 입니다. (롱 80)
테이블 EMP가 생성되었습니다.
14 행이 선택되었습니다(scott@oracle 로부터).
14 행이 입력되었습니다(EMP 에).
14 행이 EMP( DEFAULT HOST 연결의)으로 커밋되었습니다.
실행을 하면 위와 가은 메세지가 화면에 나옵니다. 설명을 하면은요..
scott/tiger@oracle : tnsnames.ora파일에 oracle이라는 서비스명으로 설정한 DB의 scott/tiger유저로 접속을 해서 emp 테이블을 emp2라는 이름으로 복사를 합니다.
아래는 tnsnames.ora파일의 일부분 입니다.
============== tnsnames.ora ================
ORACLE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 211.175.43.24)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oracle)
)
)
============================================
USING 문 뒤에는 복사할 테이블의 데이터를 가져오는 SQL문을 넣습니다.
위의 방법은 기존에..테이블을 복사하는 방법중에
CREATE TABLE table_name AS SELECT ~~ 문으로 복사하는 방법과 비슷합니다.
예를 들어보면..
SQL>CREATE TABLE emp2
AS
SELECT * FROM scott.emp;
이렇게 해서 emp테이블을 emp2테이블로 복사 할 수 있었습니다.
|