우선 설명부터 하자면 

이런식으로 판매가 데이터를 입력하고 수량 데이터를 입력하면 합계에는 수식만 걸어두는 계산되게 하는 하는것이라

이해하면 될것같다


우선 테이블을 먼져 생성해보자

1
2
3
4
CREATE table vtb_01(
    no1 NUMBER,
    no2 NUMBER,
    no3 NUMBER GENERATED ALWAYS AS (no1 * no2) VIRTUAL);
cs

위 엑셀 처럼 no1이 판매가라 생각하고 no2는 수량 이라생각하고 no3컬럼에 두개의 곱을 계산하여 넣게 하기위해 테이블을 만들었다.

1
INSERT into tvb_01 VALUES (1000,2,2000);

cs 


만약 이렇게 no3 컬럼에 까지 값을 넣으려한다면


이렇게 에러를 발생시킬 것이다..


1
INSERT INTO vtb_01 (no1,no2) VALUES (2000,1);
cs

no1 no2 컬럼에 데이터만 입력하고  조회를 해보면


이렇게 no3 컬럼에 곱해서 잘 들어가는것을 볼수있다.


1
update vtb_01 set no1 = 3000;
cs

만약 데이터를 수정한다면 no3의 값 또한 변경되는 것을 확인 할 수 있다.









'데이터베이스 > Oracle' 카테고리의 다른 글

4. 오라클 (숫자관련 함수)  (0) 2018.02.20
3. 오라클 기초 (문자함수)  (0) 2018.02.18
2. 오라클 기초 익히기 (WHERE)  (0) 2018.02.18
1. 오라클 기초 익히기  (0) 2018.02.18
1. 테이블 복사하기  (0) 2018.02.16

기존 테이블


1
2
3
4
5
6
7
8
9
10
CREATE TABLE CRUD
(
    CRNO            INT               NOT NULL
    CRTITLE         VARCHAR2(255)     NULL
    USERNO          INT               NULL
    CRMEMO          VARCHAR2(1000)    NULL
    CRDATE          DATE              NULL
    CRDELETEFLAG    CHAR(1)           NULL
    CONSTRAINT CRUD_PK PRIMARY KEY (CRNO)
)
cs



1. 모든 컬럼 및 데이터 복사하기


1
2
3
4
CREATE TABLE CRUD1
 AS 
SELECT * FROM CRUD
 
cs



2. 특정 컬럼 만 복사하기


1
2
3
4
5
CREATE TABLE CRUD2
 AS 
SELECT CRTITLE , CRMEMO
FROM CRUD
 
cs



3. 테이블 구조만 가져오고 데이터는 안가져오기


1
2
3
4
CREATE TABLE CRUD3
AS
SELECT * FROM CRUD
WHERE 1=2;
cs


컬럼은 그대로 가져왔는데 데이터는 없다!!

'데이터베이스 > Oracle' 카테고리의 다른 글

4. 오라클 (숫자관련 함수)  (0) 2018.02.20
3. 오라클 기초 (문자함수)  (0) 2018.02.18
2. 오라클 기초 익히기 (WHERE)  (0) 2018.02.18
1. 오라클 기초 익히기  (0) 2018.02.18
2. 가상 컬럼 만들기  (0) 2018.02.16

+ Recent posts