데이터베이스
-
시퀀스(Sequence) 생성 및 조회데이터베이스/Oracle 2022. 8. 29. 10:42
시퀀스란? 시퀀스란 자동으로 순차적으로 증가하는 순번을 반환하는 데이터베이스 객체입니다. 보통 PK값에 중복값을 방지하기위해 사용합니다. 예를들어 게시판에 글이 하나 추가될때마다 글번호(PK)가 생겨야 한다고 해보겠습니다. 만약 100번까지 글 번호가 생성되어있다면 그 다음 글이 추가가 되었을 경우 글 번호가 101으로 하나의 ROW를 생성해주어야 할것입니다. 이때 101이라는 숫자를 얻으려면 기존 글번호중 가장 큰 값에 +1을 하는 로직을 어딘가에 넣어야하는데 시퀀스를 사용하면 이러한 로직이 필요없이 데이터베이스에 ROW가 추가될때마다 자동으로 +1을 시켜주어 매우 편리합니다. 시퀀스 생성 CREATE SEQUENCE [시퀀스명] INCREMENT BY [증감숫자] --증감숫자가 양수면 증가 음수면 감..
-
외래키 추가 및 삭제데이터베이스/Oracle 2022. 8. 29. 10:33
외래 키는 다른 릴레이션(테이블)의 기본키(PRIMARY KEY)를 참조하는 칼럼(속성) 또는 이러한 속성들의 집합이다. 여기서의 외래 키 값은 참조하고 있는 릴레이션의 기본키에 없는 내용을 참조할 수 없으며, NULL 값을 가질 수 있다. 이를 참조 무결성(Referential Integrity)이라고 한다. 이러한 외래 키는 다른 릴레이션과의 관계를 표현할 때 사용한다. 외래키 추가 ALTER TABLE AFATNQUSTNRIEM ADD CONSTRAINT AFATNQUSTNRIEM_FK foreign KEY(QESTN_NO) references AFATNQESTNRINFO (QUSTNR_NO); --ALTER TABLE [FK를 생성시킬 테이블명] --ADD CONSTRAINT [FK명] forei..
-
기본키(PK) 추가 및 삭제데이터베이스/Oracle 2022. 8. 29. 10:22
테이블을 만들 때 기본키가 필요하여 생성하는 방법 및 삭제하는 방법에 대해 알아봤습니다. 기본키 생성 ALTER TABLE 테이블명 ADD PRIMARY KEY(칼럼명): 기본키 삭제 ALTER TABLE 테이블명 DROP PRIMARY KEY 아래 사이트를 참고하여 기본키를 추가하였습니다. https://velog.io/@seulgi/%EA%B8%B0%EC%A1%B4-%ED%85%8C%EC%9D%B4%EB%B8%94%EC%97%90-PRIMARY-KEY-%EC%B6%94%EA%B0%80 기존 테이블에 PRIMARY KEY 추가 테이블의 기존 PRIMARY KEY 삭제'ALTER TABLE 테이블명 DROP PRIMARY KEY'를 실행했을 때 아래와 같은 에러가 발생한다.그러므로 이 테이블의 PK를 F..
-
오라클 서브쿼리 종류 및 사용법데이터베이스/Oracle 2022. 8. 28. 23:53
전자정보 프레임워크를 사용하면서 insert쿼리문을 사용해야 하는데 다른 테이블에서 값을 가져와서 insert를 처리해야 하는 쿼리문이 있었습니다. 방법을 찾아보던 중에 인서트에서 서브쿼리를 사용하여 다른 테이블에 있는 값을 select 해서 insert 할 수 있는 방법을 찾고 적용하였습니다. 위 이미지는 실제 사용한 쿼리문입니다. 여러 데이터중에서 아래 이미지가 서브쿼리를 사용하고 LEFT OUTER JOIN을 사용하여 원하는 값을 select 하는 쿼리문입니다. 위 이미지에서 값을 select 하고 insert value값에 적용을 하면 해당 값이 들어가게 되면서 다른 정보들과 함께 insert가 되는 방식입니다. 아래 사이트를 참고하여 서브 쿼리를 적용하였습니다. https://gent.tisto..