테이블 구조 복사

 

*기존 테이블의 구조만 복사

-서브쿼리를 이용한 테이블 생성시 데이터는 복사하지 않고 기존 테이블의 구조만 복사 가능

-서브쿼리의 WHERE 조건절에 거짓이 되는 조건을 지정하여 출력 결과 집합이 생성되지 않도록 지정

 

*사용법

CREATE    TABLE    table

AS   SELECT  *

       FROM           source   table

       WHERE         condition;

 

-condition : 출력 결과가 항상 거짓인 조건을 명시.

  예) WHERE 1=2

 

 

서브쿼리를 이용한 테이블 생성

 

。사용 예

-서브쿼리 절을 이용하여 주소록 테이블의 구조와 데이터를 복사하여 addr_second 테이블을 생성하여라.

 

 

 

서브쿼리를 이용한 테이블 생성

 

*예제 데이터 입력

 

 

서브쿼리를 이용한 테이블 생성

 

*개요

-CREATE TABLE 명령문에서 서브쿼리 절을 이용하여 다른 테이블의 구조와 데이터를 복사하여 새로운 테이블 생성 가능

-서브쿼리의 출력 결과가 테이블의 초기 데이터로 삽입

 

*기능

-CREATE TABLE 명령문에서 지정한 칼럼 수와 데이터 타입과 반드시 일치

-칼럼 이름을 명시하지 않을 경우 서브쿼리 칼럼 이름과 동일

-무결성 제약조건은 NOT NULL 조건만 복사

  。기본 키, 참조 키와 같은 무결성 제약조건은 사용자의 재정의 필요

-디폴트 옵션에서 정의한 값을 그대로 복사

 

*사용법

CREATE   TABLE   table

               [column[, column,...]]

AS    subquery;

 

 

테이블 생성 확인

 

*DESC[RIBE] 명령어

-테이블의 생성 여부와 테이블의 구조를 확인하기 위한 명령어

-칼럼 이름, 데이터 타입과 크기, NOT NULL 무결성 제약조건

 

*사용법

DESC[RIBE]   table

 

 

DEFAULT 옵션

 

*기능

-칼럼의 입력 값이 생략될 경우에 NULL 대신에 입력되는 기본 값을 지정하기 위한 기능

-기본값 : 리터럴 값, 표현식, SQL 함수, SYSDATE, USER를 사용

-칼럼이나 의사칼럼(NEXTVAL, CURRVAL)은 사용할 수 없음

 

*칼럼 정의 시 기본 값 설정 예

addr     varchar2(100)    DEFAULT    'KOREA'

 

 

테이블 생성 방법

 

 

 

 

 

테이블 생성 방법

 

*사용 예

-연락처 정보를 저장하기 위한 주소록(address) 테이블을 생성하여라.

 

 

 

+ Recent posts