INSERT문 : 테이블에 데이터 입력

CREATE TABLE ex3_1(
    COL1    VARCHAR2(10)    NULL,
    COL2    NUMBER  NULL,
    COL3    DATE    NULL
);

-- 컬럼은 테이블의 작성한 순서대로
INSERT INTO ex3_1(COL1, COL2, COL3) VALUES('ABC', 10, SYSDATE);

-- 컬럼은 테이블의 작성한 순서대로 사용하지 않아도 됨
-- 그러나 컬럼에 맞는 데이터 값도 맞춰야됨
INSERT INTO ex3_1(COL3, COL1, COL2) VALUES(SYSDATE, 'ABC', 10);

-- 입력하는 값이 컬럼의 데이터 타입과 일치해야 한다
-- 에러발생
INSERT INTO ex3_1(COL3, COL1, COL2) VALUES('ABC', 10, 30);

-- 컬럼명을 생략시, 모든 컬럼명을 가리킨다 ex3_1(COL1, COL2, COL3)
INSERT INTO ex3_1 VALUES('GHI', 10, SYSDATE);

-- 컬럼명 일부를 생략한 경우 : 컬럼이 NULL 설정, 컬럼이 DEFAULT 일 경우
-- COL3이 생략가능한 이유? COL3 DATE NULL
INSERT INTO ex3_1(COL1, COL2) VALUES('GHI', 20);

INSERT로 SELECT 넣기

-- 테이블을 만들고 INSERT INTO 구문으로 SELECT를 넣음
-- 타입을 잘 맞춰야함

CREATE TABLE ex3_2(
    EMP_ID  NUMBER,
    EMP_NAME    VARCHAR2(100)
);

-- SELECT문의 실행결과를 ex2_3테이블에 데이터 삽입
-- 위의 테이블에 연봉이 5000보다 큰 데이터를 사원번호, 사원이름의 데이터만 삽입
INSERT INTO ex3_2(EMP_ID, EMP_NAME)
SELECT employee_id, EMP_NAME
FROM EMPLOYEES
WHERE SALARY > 5000;

태그:

카테고리:

업데이트:

댓글남기기