전체 글
-
시퀀스(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..
-
다음 주소 API 사용법프로그래밍/Javascript 2022. 8. 19. 10:23
1. 주소가 입력될 input과 버튼을 만들어준다.(class는 용도가 있으므로 무시) 필수 지원자 주소 2. 위 코드에서 onclick 함수를 이용해서 다음 주소 API를 사용한다. 2-1 주소 API를 사용하기 위해 cdn스크립트문 작성 - 2-2 함수에 사용자가 사용할 형식에 맞춰서 작성(작성자는 우편번호와 기본주소만 필요함으로 2가지 정보만 받아옴) function addresAPI() { new daum.Postcode({ oncomplete: function(data) { // 팝업에서 검색결과 항목을 클릭했을때 실행할 코드를 작성하는 부분. // 각 주소의 노출 규칙에 따라 주소를 조합한다. // 내려오는 변수가 값이 없는 경우엔 공백('')값을 가지므로, 이를 참고하여 분기 한다. var ..
-
팝업창 설정(부모창, 자식창, 열기, 닫기)프로그래밍/Javascript 2022. 8. 17. 16:43
■ 부모창 → 자식창 ▶ 부모창에서 자식창(팝업창) 열기 시험장 선택 ▷ window.open으로 팝업창을 열 수 있습니다. 기본 세팅 값은 window.open(url, name, option); 입니다. url : 팝업 주소 name : 팝업창 이름 option: 팝업창 설정 팝업창 설정 ▶ 부모창에서 자식창(팝업창) 닫기 child.close(); ▶ 부모창에서 자식창(팝업창) 데이터 값 전달하기 (코드는 자식창(팝업창)에 넣어줘야 함) ▷ 부모창에서 id가 parent_val인 요소(태그)의 값 가져오기 - var parent_val = opener.$("#parent_val").val(); ▷ 자식창(팝업창)에서 id가 child_val인 요소(태그)의 값에 부모창에서 가져온 값 넣기 - $("..
-
게시판 공개/비공개 여부 기능프로그래밍/JAVA 2022. 7. 5. 13:46
게시판에서 게시글을 공개 또는 비공개로 사용자들에게 보여줄 수 있는 기능 ※ 공개/비공개 여부 기능 초안 공개로 선택 시 => 전체 사용자가 보이게 해야함 비공개로 선택 시 => 작성자와 관리자만 상세보기가 가능하고 다른 사용자에게는 게시글의 상세보기가 불가능하다. 1. 게시판 테이블에서 공개/비공개 여부의 컬럼을 추가 2. VO에서 해당 컬럼 추가 후 Getter/Setter 추가 3. Mapper에서 게시판 목록, 수정, 상세보기 쿼리문에 해당 컬럼 추가 4. JSP에서 조건을 걸어서 상황에 따라 사용자에게 보여주는 화면을 다르게 한다. 4-1 등록 ▶ 라디오 버튼으로 공개 또는 비공개를 디폴트로 선택한다 ▷ 선택적이므로 필수는 아니다(속성에서 checked값 추가) 4-2 조회 ▶ 모델에 담겨있는 ..