Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags more
Archives
Today
Total
관리 메뉴

기록

Book 테이블 만들기 본문

DB

Book 테이블 만들기

9400 2023. 1. 19. 16:07
create table book(
    book_id number not null,
    title varchar2(600) not null,
    category varchar2(600) not null,
    price number null,
    insert_date date default sysdate null,
    content clob null,
    constraint pk_book primary key(book_id)
);

//alter table book
//add (constraint pk_book primary key(book_id));

COMMENT ON TABLE BOOK IS '도서정보';
COMMENT ON COLUMN BOOK.BOOK_ID IS '책 아이디';
COMMENT ON COLUMN BOOK.TITLE IS '제목';
COMMENT ON COLUMN BOOK.CATEGORY IS '카테고리';
COMMENT ON COLUMN BOOK.PRICE IS '가격';
COMMENT ON COLUMN BOOK.INSERT_DATE IS '입력일자';
COMMENT ON COLUMN BOOK.CONTENT IS '책 내용';

 

 

create or replace FUNCTION FN_GETCAMEL(COLUMN_NAME IN VARCHAR2)
RETURN VARCHAR2
IS
RSLT VARCHAR2(30);
BEGIN
--카멜표기로 변환(SITE_NUM -> siteNum)
SELECT LOWER(SUBSTR(REPLACE(INITCAP(COLUMN_NAME),'_'),1,1))
|| SUBSTR(REPLACE(INITCAP(COLUMN_NAME),'_'),2) INTO RSLT
FROM DUAL;
--리턴
RETURN RSLT;
--구글 카멜변환(https://heavenly-appear.tistory.com/270)
SELECT COLUMN_NAME
, DATA_TYPE
, CASE WHEN DATA_TYPE='NUMBER' THEN 'private int ' || FN_GETCAMEL(COLUMN_NAME) || ';'
WHEN DATA_TYPE IN('VARCHAR2','CHAR') THEN 'private String ' || FN_GETCAMEL(COLUMN_NAME) || ';'
WHEN DATA_TYPE='DATE' THEN 'private Date ' || FN_GETCAMEL(COLUMN_NAME) || ';'
ELSE 'private String ' || FN_GETCAMEL(COLUMN_NAME) || ';'
END AS CAMEL_CASE
, '' RESULTMAP
FROM ALL_TAB_COLUMNS
WHERE TABLE_NAME = 'BOOK';
Comments