DB/ORACLE

    [오라클]CASCADE 제약조건 추가하기

    게시글과 댓글을 구현하면서 , 댓글테이블에 외래키로 게시글테이블의 BNO를 설정했다. 그 후, 게시글을 삭제하려고 하니 무결성 제약조건 위배로 삭제가 안되고 500에러가 나왔다. 찾아보니 delete cascade 제약조건을 설정해놔야 부모테이블 삭제시 자식테이블도 같이 삭제되는 방법을 찾았다. alter table 자식테이블명 add constraint 설정할제약조건명 foreign key (외래키로 설정할 키) references 부모테이블명(외래키로 설정할 키) on delete cascade; alter table MP_FILE add constraint MP_FILE_DELETE foreign key (BNO) references MP_BOARD(BNO) on delete cascade; alt..

    오라클 시퀸스란?

    시퀸스란, 자동으로 순차적으로 증가하는 순번을 반환하는 데이터베이스 객체이다. 보통 PK값에 중복값을 방지하기위해 사용한다. 예를들어 게시판에 글이 하나 추가될때마다 글번호(PK)가 생겨야할때, 기존 글번호 중 가장 큰값에 1을 하는 로직을 넣어야하는데, 시퀸스를 사용하면 로직이 필요없이 DB에 글이 하나씩 생성될때마다 자동으로 +1을 시켜주어 매우 편리하다. --문법 CREATE SEQUENCE [시퀀스명] INCREMENT BY [증감숫자] --증감숫자가 양수면 증가 음수면 감소 디폴트는 1 START WITH [시작숫자] -- 시작숫자의 디폴트값은 증가일때 MINVALUE 감소일때 MAXVALUE NOMINVALUE OR MINVALUE [최솟값] -- NOMINVALUE : 디폴트값 설정, 증가일..

    페이징- 서브쿼리,ROW-NUMBER()를 이용한 쿼리작성

    SELECT BNO, TITLE, CONTENT, WRITER, REGDATE FROM ( SELECT BNO, TITLE, CONTENT, WRITER, REGDATE, ROW_NUMBER() OVER(ORDER BY BNO DESC) AS RNUM FROM MP_BOARD ) WHERE RNUM BETWEEN #{rowStart} AND #{rowEnd} ORDER BY BNO DESC 서브쿼리를 이용해서 페이징을 하는 부분의 쿼리이다. BNO(기본키) , 제목 , 내용 , 작성자 , 작성일 을 검색해오는 쿼리 SELECT BNO, TITLE, CONTENT, WRITER, REGDATE FROM 에서 다음부분의 ( SELECT BNO, TITLE, CONTENT, WRITER, REGDATE, RO..

    오라클 계정만들기,sid 확인

    계정만들기 1.cmd 창에서 sqlplus "/as sysdba"라고 입력한다 2.create user 계정명 identified by 비밀번호 입력 2! 공통사용자 또는 롤 이름이 부적합 합니다가 나오면 계정명 앞에 C##을 붙여준다오라클 12c버전 이후로는 이렇게 네이밍 하도록 바뀜 3. grant connect, resource, dba to 계정명생성한 계정에 dba 권한 부여(관리자 권한) 4.sql plus에서 로그인해보면 계정이 생성된 것을 알 수 있다 sid 확인 1.오라클 데이타베이스명을 확인하는 방법 SELECT NAME, DB_UNIQUE_NAME FROM v$database; 2. 오라클 SID를 확인하는 방법 SELECT instance FROM v$thread; (스프링)JDBC..

    ORA-12514, TNS:listener does not currently know of service requested in connect descriptor 오류해결

    실행중인 프로세서를 둘러보는중, 키지도 않은 오라클이 메모리를 500MB씩 먹으면서 실행중이였던걸 발견하고 종료했다. 이게 문제였던건지 잘 되던 프로젝트를 RUN시키니 인덱스는 잘 나왔지만 데이터베이스를 사용하는 부분(LIST)으로 진입하니 갑자기 ORA-12514 오류가 생겼다. 재부팅을 해도 소용이 없다. 오라클 SQL로 직접 들어가서 로그인을 하려고하니 ORA-12514 오류가 오라클SQL상에서 아예 출력됨. 일단 방화벽 문제가 있을 수 있다고 해서 제어판 - 시스템 및 보안 - Windows Defender 방화벽 - 고급설정 - 인바운드규칙 - [새규칙..] 을 눌러서 포트- 특정로컬포트에 내가 사용하는 포트번호인 1521을 입력하고 재부팅 - 실패 작업관리자(ctrl+alt+delete) - ..