분류 전체보기
-
Myabtis - <sql>, <include> 태그Database/MyBatis 2022. 4. 28. 16:28
, 태그 태그 태그는 다른 구문에서 재사용 가능한 sql 구문을 정의할 때 사용한다. 재사용할 sql 구문 사용 방법은 위와 같다. 태그의 id 속성에 값을 부여한 후 태그 내에 사용할 쿼리를 작성하면 된다. 태그 내에 있는 sql 구문을 재사용하기 위해서는 재사용할 쿼리의 상단에 선언되어야 한다. 특정 쿼리문에서 태그를 불러왔지만, 상단에 선언되어 있지 않았다면 해당 태그를 불러올 수 없을 것이다. title = #{title} 위 코드와 같이 태그 내에 파라미터 값을 추가해도 무방하다. 단, 해당 태그를 불러오는 쿼리문에서 태그 내에 선언된 파라미터 값을 처리할 수 있는 인자 값이 존재해야 한다. 태그 같은 파일 내에 정의한 태그를 불러오기 위해 사용되는 태그이다. where boardNo = #{b..
-
Oracle - 조건문(IF, CASE)Database/Oracle 2022. 4. 27. 10:33
Oracle 조건문 IF 조건문 1. 사용법 IF 조건01 THEN 처리문 ELSIF 조건02 THEN 처리문 ... ELSE 처리문 END IF; IF 문은 조건이 참이면 해당 조건의 처리 문장이 실행된다. 사용법은 위와 같으며, 다른 언어와 비교하면 전체적인 구조는 크게 다르지 않지만 3가지가 다르다. 첫 번째는 조건 다음에 THEN을 붙인다는 것이고, 두 번째는 여러 개의 조건을 사용해야 하는 경우 ELSE IF가 아닌 ELSIF라는 명령어를 사용하는 것이다. 세 번째는 IF를 끝낸다는 END IF를 붙인다는 점에서 다르다. 2. 예제 DECLARE SCORE NUMBER := 80; BEGIN IF SCORE >= 90 THEN DBMS_OUTPUT.PUT_LINE('A 등급'); ELSIF SC..
-
Oracle - MERGE INTODatabase/Oracle 2022. 4. 26. 11:37
MERGE INTO MERGE 문이란? MERGE 문은 테이블에 원하는 데이터가 있으면, 그 데이터를 UPDATE 하고 없으면 INSERT 하는 구문이다. 이러한 MERGE 문을 사용해서 PK 중복 문제 해결 등 다양한 문제를 해결할 수 있다. MERGE 문의 사용법 MERGE INTO 테이블명 USING 타겟 테이블 ON 타겟 데이터 WHEN MATHCED THEN SET 칼럼01 = 값01, 칼럼02 = 값02, ... WHERE 조건 WHEN NOT MATHCED THEN INSERT (칼럼01, 칼럼02, ...) VALUES (값01, 값02, ...) WHERE 조건; MERGE 문의 사용법은 위와 같다. 다른 DML 보다 문법이 복잡한 편이기 때문에, 처음 접하게 되면 사용하기 힘들다. 아래..
-
Oracle - 반복문(LOOP, WHILE, FOR)Database/Oracle 2022. 4. 25. 18:01
Oracle 반복문 LOOP 문 1. 사용법 LOOP 처리문; EXIT[조건]; END LOOP; LOOP 문의 사용방법은 위와 같다. 2. 예제 DECLARE NUM01 NUMBER := 1; BEGIN LOOP DBMS_OUTPUT.PUT_LINE(NUM01); -- 변수 출력 NUM01 := NUM01 + 1; -- 변수 1씩 증가 EXIT WHEN NUM01 > 10; -- NUM01이 10보다 크면 반복문 종료 END LOOP; END; 반복문은 특정 조건까지만 반복하며 로직을 수행하는데, LOOP 문의 반복문은 EXIT[WHEN 조건];이라는 구절에서 종료된다. 따라서, EXIT를 누락하면 해당 LOOP는 무한루프에 빠지게 되니 사용할 때 주의해야 한다. 1 2 3 4 5 6 7 8 9 10 ..
-
Oracle - 변수 및 상수 선언Database/Oracle 2022. 4. 25. 17:36
Oracle 변수 및 상수 선언 PL / SQL이란? PL / SQL은 상용 관계형 데이터베이스 시스템인 Oracle DBMS에서 SQL 언어를 확장하기 위해 사용하는 컴퓨터 프로그래밍 언어 중 하나이다. Oracle에서 변수를 선언한 후 해당 변수를 사용하기 위해서는 이 PL / SQL을 사용하면 된다. 변수 및 상수 선언 1. 변수 선언 변수명 데이터타입 := 초기값; NUM01 NUMBER := 1; STR01 VARCHAR2(10) := 'STR01'; 변수의 선언 방법은 위 예제와 같다. PL / SQL에서는 일반적인 프로그래밍 언어에서 사용하는 '='이 아니라 ':='을 사용한다. 특정 변수에 ':='을 기준으로 오른쪽 값을 왼쪽에 할당한다는 뜻을 가지고 있다. 변수는 선언과 동시에 초기값을 ..
-
Java - Mutex & Semaphore & MonitorLanguage/Java 2022. 4. 6. 17:17
뮤텍스(Mutex Exclusion) 뮤텍스란? 멀티프로그래밍 환경에서 자원에 대한 접근에 제한을 강제하기 위한 동기화 기법이다. 뮤텍스의 특징은 아래와 같다. 1. boolean 타입의 lock 변수를 사용하기 때문에, 1개의 공유 자원에 대한 접근을 제한한다. 2. 공유 자원을 사용 중인 스레드가 있을 때, 다른 스레드가 공유 자원에 접근한다면 블로킹 후 대기 큐로 보낸다. 3. lock을 건 스레드만 lock을 해제할 수 있다. 세마포어(Semaphore) 세마포어란? 멀티프로그래밍 환경에서 다수의 프로세스나 스레드가 n개의 공유 자원에 대한 접근을 제한하는 방법으로 사용되는 동기화 기법이다. 세마포어의 특징은 아래와 같다. 1. 세마포어 변수를 통해 wait, signal을 관리한다. 세마포어 변..