Study📚 117

자바 - JDBC Database 연결 객체 전용 클래스

DB 연결은 부하가 매우 크기 때문에 한 번 연결된 객체를 계속 사용하는 것이 좋음 → 싱글톤(Singleton) 디자인 패턴!! (== 사무실에 있는 정수기) import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DBConn { // 변수 선언(연결 객체) private static Connection dbConn; // 메소드 정의 → 연결 public static Connection getConnection() throws ClassNotFoundException, SQLException { if (dbConn == null) { String url = "jdbc:orac..

Study📚/Java 2023.11.20

Oracle - 커서(Cursor), 트리거(Trigger), 패키지(Package)

- 커서(Cursor)란? 하나의 레코드가 아닌 다중의 레코드로 구성된 작업 영역에서 SQL 문을 실행하고 그 과정에서 발생한 정보를 저장하기 위해 커서를 사용한다. 커서는 암시적 커서와 명시적 커서로 구분되는데 암시적 커서는 모든 SQL 문에서 존재한다. 하지만 암시적 커서는 오직 하나의 행만 출력하게 되므로 다중 행에 대한 처리가 필요한 경우엔 명시적으로 커서를 정의(=선언)해 주어야 한다. ▶ 형식 및 구조 CREATE [OR REPLACE] (TRIGGER or PROCEDURE or ...) DECLARE CURSOR 커서명 IS SELECT 컬럼명 FROM 테이블명; BEGIN OPEN 커서명; /* 수헹해야 힐 기능 구현 */ CLOSE 커서명; END; -- 커서는 꼭 OPEN 후에 CLO..

Study📚/Oracle 2023.11.19

Oracle - 프로시저(Procedure), 함수(Function)

- 프로시저란? PL/SQL에서 가장 대표적인 구조인 스토어드 프로시저는 개발자가 자주 작성해야 하는 업무의 흐름을 미리 작성하여 데이터베이스 내에 저장해 두었다가 필요할 때 마다 호출하여 실행할 수 있도록 처리해주는 구문이다. FUNCTION 과 비교했을 때 RETURN 반환자료형 부분이 존재하지 않으며, 『RETURN』문 자체도 존재하지 않고, 프로시저 실행 시 넘겨주게 되는 매개변수의 종류는 IN(입력), OUT(출력), INOUT(입출력) 으로 구분된다. ▶ 형식 및 구조 CREATE [OR REPLACE] PROCEDURE 프로시저명 [(매개변수 IN 데이터타입 , 매개변수 OUT 데이터타입 , 매개변수 INOUT 데이터타입 )] IS [-- 주요 변수 선언] BEGIN -- 실행 구문; .....

Study📚/Oracle 2023.11.19

Oracle - PL/SQL, IF문, CASE문, 반복문

- PL/SQL 이란 PL/SQL(Procedural Language extention to SQL) 은 프로그래밍 언어의 특성을 가지는 SQL의 확장이며 데이터 조작과 질의 문장은 PL/SQL의 절차적 코드 안에 포함된다. 또한, PL/SQL 을 사용하면 SQL 로 할 수 없는 절차적 작업이 가능하다. 여기에서 절차적 이라는 단어가 가지는 의미는 어떤 것이 어떤 과정을 거쳐 어떻게 완료되는지 그 방법을 정확하게 코드에 기술한다는 것을 의미한다. PL/SQL 은 절차적으로 표혀하기 위해 변수를 선언할 수 있는 기능, 참과 거짓을 구별할 수 있는 기능, 실행 흐름을 컨트롤할 수 있는 기능 등을 제공한다. PL/SQL 은 블럭 구조로 되어 있으며, 블럭은 선언 부분, 실행 부분, 예외 처리 부분의 세 부분으..

Study📚/Oracle 2023.11.19

[프로그래머스] - Oracle_Lv.3

문제 출처 https://programmers.co.kr/ 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 - 풀이 - 결과 더보기 1. 오랜 기간 보호한 동물(1) 2. 카테고리 별 도서 판매량 집계하기 3. 있었는데요 없었습니다 4. 오랜 기간 보호한 동물(2) 5. 조건별로 분류하여 주문상태 출력하기 6. 조건에 맞는 사용자와 총 거래금액 조회하기 7. 즐겨찾기가 가장 많은 식당 정보 출력하기 8. 대여 기록이 존재하는 자동차 리스트 구하기 9. 없어진 기록 찾기 10. 조건에 맞는 사용자 정보 조회하기 11. 헤비 유저가 소유한 장소 12. 자..

Oracle - 문자열 함수

- CONCAT() 마치... || 문자열과 문자열을 결합시켜주는 함수이지만, 내부적으로 숫자나 날짜를 문자로 변환해주는 과정이 포함되어 있다 SELECT CONCAT(SYSDATE,'이동욱보고싶다') FROM DUAL; --==>> 20231105이동욱보고싶다 - SUBSTR(), SUBSTRB() 문자열을 추출하는 기능을 가진 함수이다. 마치 자바의 SUBSTR() 은 갯수 기반, SUBSTR() 바이트 기반으로 연산되기 때문에 후자를 이용하는 상황에는 신중하게 사용해야 한다. 참고로 저는 바이트 기반으로 해낼 자신이 없어요 SELECT SUBSTR(NAME,1,3) FROM MY_MAN; --==>> /* 이동욱 남궁민 : : */ -- SUBSTR(추출의 대상, 추출을 시작하는 인덱스, 추출할 문..

Study📚/Oracle 2023.11.05

Oracle - INSERT, UPDATE, DELETE, ORDER BY 절

- INSERT 테이블에 레코드(데이터)를 삽입하는 명령어 INSERT INTO 테이블명(컬럼명1, 컬럼명2, 컬럼명3) VALUES(데이터1, 데이터2, 데이터3); -- 컬럼명은 생략해도 되지만 데이터를 삽입하는 과정에서 실수할 수 있으니 컬럼을 한 번 더 확인하자는 의도로 생략하지 않는 것을 권장 - UPDATE 테이블에 (WHERE 조건절이 있다면) 해당하는 레코드들의 값을 변경하는 명령어 UPDATE 테이블명 SET 컬럼명 = 변경할 데이터 WHERE 조건절 - DELETE 테이블에 (WHERE 조건절이 있다면) 해당하는 레코드를 삭제하는 명령어 DELETE FROM 테이블명 WHERE 조건절 INSERT, UPDATE, DELETE 문은 자동 COMMIT 이 되지 않기 때문에 삽입, 수정, 삭..

Study📚/Oracle 2023.11.05

[프로그래머스] - Oracle_Lv.2 (2)

문제 출처 https://programmers.co.kr 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 - 풀이 - 결과 더보기 13. 3월에 태어난 여성 회원 목록 출력하기 14. 카테고리 별 상품 개수 구하기 15. 가격대 별 상품 개수 구학 16. 상품 별 오프라인 매출 구하기 17. 재구매가 일어난 상품과 회원 리스트 구하기 18. 진료과별 총 예약 횟수 출력하기 19. 성분으로 구분한 아이스크림 총 주문량 20. 조건에 맞는 도서와 저자 리스트 출력하기 21. 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 22. 자동차 평균 대여 기..

[프로그래머스] - Oracle_Lv.2 (1)

문제 출처 https://programmers.co.kr 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 - 풀이 - 결과 더보기 1. 최솟값 구하기 2. 고양이와 개는 몇 마리 있을까 3. 동명 동물 수 찾기 4. 루시와 엘라 찾기 5. 이름에 el이 들어가는 동물 찾기 6. 동물 수 구하기 7. 중복 제거하기 8. 중성화 여부 파악하기 9. NULL 처리하기 10. 입양 시각 구하기(1) 11. DATETIME에서 DATE로 형 변환 12. 가격이 제일 비싼 식품의 정보 출력하기 1. 최솟값 구하기 SELECT MIN(DATETIME) "시간" F..

[프로그래머스] - Oracle_Lv.1 (2)

문제 출처 https://programmers.co.kr 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 - 풀이 - 결과 더보기 13. 경기도에 위치한 식품창고 목록 출력하기 14. 강원도에 위치한 생산공장 목록 출력하기 15. 최댓값 구하기 16. 이름이 있는 동물의 아이디 17. 상위 n개 레코드 18. 여러 기준으로 정렬하기 19. 동물의 아이디와 이름 20. 이름이 없는 동물의 아이디 21. 어린 동물 찾기 22. 아픈 동물 찾기 23. 역순 정렬하기 24. 모든 레코드 조회하기 13. 경기도에 위치한 식품창고 목록 출력하기 SELECT WA..