
--■■■ DEFAULT 표현식■■■--
-- 1. INSERT와 UPDATE 구문에서
-- 사용자가 전달하는 특정 값이 아닌
-- 기본적으로 설정된 값을 입력하거나 수정할 수 있도록 처리할 수 있다.
-- 2. 형식 및 구조
-- 컬럼명 데이터타입 DEFAULT 기본값
-- 3. INSERT 명령 시 해당 컬럼에 입력될 값을 할당하지 않거나
-- DEFAULT 키워드를 활용하여 기본으로 설정된 값을 입력하도록 할 수 있다.
-- 4. DEFAULT키워드와 다른 제약(NOT NULL 등) 표기가 함께 사용되어야 하는 경우
-- DEFAULT 키워드를 먼저 표기(작성)할 것을 권장한다.
CREATE TABLE TBL_BOARD -- 게시판 테이블 생성
( SID NUMBER PRIMARY KEY -- 게시물 번호 → 식별자(자동 증가)
, NAME VARCHAR2(30) -- 게시물 작성자
, CONTENTS VARCHAR2(2000) -- 게시물 내용
, WRITEDAY DATE DEFAULT SYSDATE NOT NULL -- 게시물 작성일(현재 날짜시간 자동 입력)
--== , WRITEDAY DATE NOT NULL DEFAULT SYSDATE -- 위의 케이스로 쓰는것이 좋음
, COMMENTS NUMBER DEFAULT 0 NOT NULL -- 게시물 댓글 갯수(기본값0)
, COUNTS NUMBER DEFAULT 0 NOT NULL -- 게시물 조회수(기본값 0)
);
--==>> Table TBL_BOARD이(가) 생성되었습니다.
--※ SID 를 자동 증가하는 값으로 운영하려면 시퀀스(SEQUENCE) 객체가 필요하다.
-- 자동으로 입력되는 컬럼은 사용자가 입력해야 하는 항목에서
-- 제외시킬 수 있다.
-- 시퀀스 생성
CREATE SEQUENCE SEQ_BOARD
NOCACHE;
--==>> Sequence SEQ_BOARD이(가) 생성되었습니다.
-- 날짜 형식 관련 세션 설정 변경
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
--==>> Session이(가) 변경되었습니다.
-- 게시물 작성
INSERT INTO TBL_BOARD(SID, NAME, CONTENTS, WRITEDAY, COMMENTS, COUNTS)
VALUES(SEQ_BOARD.NEXTVAL, '김주영', '오라클에서 DEFAULT 표현식 실습중.'
, TO_DATE('2025-07-09 16:06:23', 'YYYY-MM-DD HH24:MI:SS'), 0, 0);
INSERT INTO TBL_BOARD(SID, NAME, CONTENTS, WRITEDAY, COMMENTS, COUNTS)
VALUES(SEQ_BOARD.NEXTVAL, '이동우', '앞자리로 좌석이동.', DEFAULT,DEFAULT,DEFAULT);
INSERT INTO TBL_BOARD(SID, NAME, CONTENTS)
VALUES(SEQ_BOARD.NEXTVAL, '이인주', '감기약 복용완료.');
SELECT *
FROM TBL_BOARD;
COMMIT;
--==>> 커밋
--○ DEFAULT 표현식 조회(확인)
SELECT *
FROM USER_TAB_COLUMNS
WHERE TABLE_NAME ='TBL_BOARD';
/*
TBL_BOARD SID NUMBER 22 N 1
TBL_BOARD NAME VARCHAR2 30 Y 2 CHAR_CS
TBL_BOARD CONTENTS VARCHAR2 2000 Y 3 CHAR_CS
TBL_BOARD WRITEDAY DATE 7 N 4 8 SYSDATE
TBL_BOARD COMMENTS NUMBER 22 N 5 8 0
TBL_BOARD COUNTS NUMBER 22 N 6 8 0
*/
SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_DEFAULT
FROM USER_TAB_COLUMNS
WHERE TABLE_NAME ='TBL_BOARD';
/*
TBL_BOARD SID NUMBER
TBL_BOARD NAME VARCHAR2
TBL_BOARD CONTENTS VARCHAR2
TBL_BOARD WRITEDAY DATE SYSDATE
TBL_BOARD COMMENTS NUMBER 0
TBL_BOARD COUNTS NUMBER 0
*/
--○ 테이블 생성 이후 DEFAULT 표현식 추가 / 변경
ALTER TABLE 테이블명
MODIFY 컬럼명 [자료형] DEFAULT 기본값;
--○ 생성된 DEFAULT 표현식 제거(삭제)
ALTER TABLE 테이블명
MODIFY 컬럼명 [자료형] DEFAULT NULL;| Oracle - UPDATE 실습2 (0) | 2025.07.10 |
|---|---|
| Oracle - UPDATE 실습1 (0) | 2025.07.10 |
| Oracle - NOT NULL 실습 (1) | 2025.07.09 |
| Oracle - FOREIGN KEY 설정 실습 (0) | 2025.07.09 |
| Oracle - PRIMARY KEY 설정 실습 (0) | 2025.07.09 |
댓글 영역