본문 바로가기

데이터베이스

(64)
[ORACLE] ORACLE XE 11 express 설치 로컬 PC에 오라클을 설치해서 JAVA - DB 연동을 실습해보자. https://www.oracle.com/database/technologies/xe-prior-releases.html
[ORACLE] 오늘은 hh24:mi:ss 이전 기간은 yyyy-mm-dd 나타내기 select case when to_char(sysdate, 'yyyy-mm-dd') = to_char(reg_date, 'yyyy-mm-dd') then to_char(reg_date, 'hh24:mi:ss') else to_char(reg_date, 'yyyy-mm-dd') end as reg_date from t_board;
[ORACLE ] t_board_file 첨부파일 테이블 생성 및 외래키 DELETE CASCADE 이렇게 하면, T_BOARD의 NO번 ROW가 삭제되면, 자동으로 T_BOARD_FILE의 해당 ROW가 삭제된다.-- 첨부파일 테이블 t_board_file 생성 -- CREATE TABLE T_BOARD_FILE( NO NUMBER(5) PRIMARY KEY, BOARD_NO NUMBER(5) NOT NULL, FILE_ORI_NAME VARCHAR2(300), FILE_SAVE_NAME VARCHAR2(300), FILE_SIZE NUMBER(10), CONSTRAINT T_BOARD_FILE_BOARD_NO_FK FOREIGN KEY(BOARD_NO) REFERENCES T_BOARD(NO) ON DELETE CASCADE ); CREATE SEQUENCE SEQ_T_BOARD_FILE_NO NO..
[ORACLE] SQL 오류: ORA-00904: 부적절한 식별자 (delete 문) delete from t_member where ID = "nam1"; 도대체 어디가 잘못됐냐고... 그것은 바로 " " 때문이었다. delete from t_member where ID = 'nam1';
[ORACLE] 테이블 목록 조회하기 SELECT * FROM TABS;
[ORACLE] t_board 테이블 생성 및 Insert / 답글 기능을 위한 변경 사항 SELECT * FROM TAB; CREATE TABLE t_board( no number(5) primary key , title varchar2(1000) not null , writer varchar2(200) not null , content varchar2(2000) not null , view_cnt number(5) default 0 , reg_date date default sysdate ); CREATE SEQUENCE seq_t_board_no; alter sequence seq_t_board_no nocache; insert into t_board(no, title, writer, content) values(seq_t_board_no.nextval, '제목입니다.', 'hong', ..
[ERD] 비식별관계에서 FK의 Optionality(DA#, ER-win 비교) ERWIN에서 비식별관계일 때 OPTIONALITY 수정하기 : 자식 엔터티의 Optionality는 Cardinality 설정을 통해 변경할 수 있다. 그러나, 부모 엔터티의 Optionality는 변경이 불가능했다. 왜 그런지 확인해보니, Nulls 조건이 Nulls Allowed로 돼있었기 때문이다. 즉, 부모없는 자식이 생길 수 있는 경우를 허용했기 때문에 무조건 선택적인 관계로만 나타났던 것이다. 그런데, 비식별관계로 설정하면서 FK가 NOT NULL이어야 하는 경우가 있다. 처음에는, 식별관계로 설정해서 이러한 NOT NULL 조건을 만족시켰는데, 그러고 보니 자식엔터티의 식별자가 최소성을 만족하지 못하는 현상이 발생했다(거래번호 + 계좌번호) 따라서, 비식별관계를 만족하면서 NOT NULL로..
[ORACLE] SQL에 값을 입력받는 방법(일회성 /세션 동안 유지) 종류 1. &변수명 : 일회성 변수 2. &&변수명 : 세션이 살아있는 동안 값을 저장하는 변수. 즉, 한번 입력하면 재실행 시 입력받지 않는다. SELECT * FROM EMP WHERE EMPNO = &V_ENAME; UPDATE EMP SET SAL = 20 WHERE DEPTNO = &&V_DEPTNO; 정의된 변수를 조회하는 방법 DEFINE 명령어를 통해 정의된 변수를 조회할 수 있다. 정의된 변수를 수정하는 방법 - UDEFINE '변수명'을 통해 정의된 변수를 삭제할 수 있다. - 삭제한 이후 다시 변수를 정의하면 된다.