#1
JAVA EE
Connection URL => jdbc:oracle:thin:@127.0.0.1:1521:XE
#2
ⓐ
SQL> CREATE TABLE TEST03
2 AS SELECT * FROM EMP;
ⓑ
SQL> CREATE TABLE TEST04 (ENAME, EMPNO)
2 AS SELECT ENAME, EMPNO FROM EMP;
ⓒ
SQL> CREATE TABLE TEST05(AAA, BBB)
2 AS SELECT ENAME, EMPNO FROM EMP;
ⓓ
SQL> CREATE TABLE TEST06(ENAME, SAL)
2 AS
3 SELECT ENAME, SAL + NVL(COMM, 0) FROM EMP;
ⓔ
SQL> CREATE TABLE TEST07(ENAME, DEPTNO, DNAME)
2 AS
3 SELECT ENAME, DEPTNO, DNAME
4 FROM EMP JOIN DEPT USING(DEPTNO);
#3
제약조건 - 무결성 때문에사용
NOT NULL 등
COLUMN LABEL - 선언 시 뒤에다가 제약조건 붙이는 것
TABLE LABEL - 선언 해놓고 뒤에다가 제약조건 붙이는 것
#4
- NOT NULL은 '컬럼 레벨'에서만 가능
- 컬럼 여러 개를 조합하는 경우 '테이블 레벨'에서만 가능
UNIQUE는 NULL을 허용한다.
#5
PRIMARY KEY = UNIQUE + NOT NULL의 의미
테이블 당 1개만 생성 가능
#6
FOREIGN KEY DELETION OPTION
[구문]
[CONSTRAINT CONSTRAINT_NAME] CONSTRAINT_TYPE ON DELETE SET NULL
[CONSTRAINT CONSTRAINT_NAME] CONSTRAINT_TYPE ON
#7
TEST
===============
ID NO
1 2
3 4
5 6
1. TEST 테이블의 (ID, NO) MYPK라는 이름으로 제약조건(식별키)을 선언한다.
2. MYEXAM 테이블을 선언하면서 ID와 NO을 TEST 테이블의 식별키로 참조한다.
NAME ID NO
A 1 2
B 5 6
SQL> CREATE TABLE MYEXAM
2 (NAME VARCHAR(20),
3 ID NUMBER,
4 NO NUMBER,
5 CONSTRAINT FK_TOPICS FOREIGN KEY(ID, NO) REFERENCES TABLE_03(ID, NO));
#8
SQL> CREATE TABLE MYTABLE(
2 NAME VARCHAR2(10),
3 MYID CHAR(3) REFERENCES TABLE_PK ON DELETE SET NULL);
테이블이 생성되었습니다.
SQL> INSERT INTO MYTABLE VALUES('111', '1');
1 개의 행이 만들어졌습니다.
SQL> INSERT INTO MYTABLE VALUES('111', '2');
1 개의 행이 만들어졌습니다.
SQL> DELETE TABLE_PK WHERE ID = 2;
1 행이 삭제되었습니다.
SQL> SELECT * FROM MYTABLE;
NAME MYID
-------------------- ------
111 1
111
SQL> SELECT * FROM TABLE_PK;
ID SNAME
------ ----------------------------------------
1 AAA
4 DDD
7 FFF
'국비교육 > JAVA' 카테고리의 다른 글
1월 16일 국비교육 (0) | 2019.01.16 |
---|---|
1월 15일 국비교육 33일차 (0) | 2019.01.15 |
1월 11일 31일차 (0) | 2019.01.11 |
1월 10일 국비교육 30일차 (0) | 2019.01.10 |
1월 9일 국비교육 29일차 (0) | 2019.01.09 |
댓글