전체 글

전체 글

    [오라클 데이터베이스] - 트랜잭션 처리를 위한 COMMIT과 ROLLBACK

    [오라클 데이터베이스] - 트랜잭션 처리를 위한 COMMIT과 ROLLBACK

    https://www.youtube.com/user/newlec1의 내용을 정리해서 포스팅합니다. [ 트랜잭션이란? ] 트랜잭션(Transaction)은 하나의 작업을 수행하기 위해 필요한 데이터베이스의 연산들을 모아놓은 것으로 업무 실행단위, 논리 명령단위라고 할 수 있다. 트랜잭션에 대해 직관적으로 이해가 되지 않기 때문에 예시를 들어보자. 성호가 은경이한테 돈을 입금한다고 하자. 성호가 은경이한테 돈을 입금하는 순간 성호 계좌와 은경이의 계좌에서 UPDATE 구문이 정상적으로 실행이 되어야 한다. 만약 성호의 UPDATE문이 정상적으로 실행됐으나 은경이의 UPDATE문이 실행되지 않는다면, 성호가 5000원을 이체했으나 은경이가 이를 받지 못해 5000원이 사라지는 모순된 상황이 발생할 것이다. 위..

    [JSP] JSTL(Jsp Standard Tag Library) 정리 - <c:set>,<c:out>,<c:remove>,<c:if>,<c:choose>,<c:when>,<c:otherwise>,<c:forEach>,<c:forTokens> 등

    [JSP] JSTL(Jsp Standard Tag Library) 정리 - <c:set>,<c:out>,<c:remove>,<c:if>,<c:choose>,<c:when>,<c:otherwise>,<c:forEach>,<c:forTokens> 등

    [ JSTL 이란? ] JSTL은 JSP에서 유용하게 사용될 수 있는 기능을 만들어 둔 커스텀 태그 라이브러리이다. JSTL을 사용하면 JSP에서 스크립트릿의 사용을 줄일 수 있으며 특히 화면에 데이터를 표현할 때 필요한 프로그램 요소를 대체할 수 있어 유용하다. JSTL을 사용하기 위해서는 라이브러리를 다운받고 적용하고 선언해야 하는데 차례차례 해보도록 하자. 우선 http://tomcat.apache.org/taglibs/standard/ 이곳을 들어갑니다. Standard 1.1 다운로드를 클릭해주세요. birnaries를 클릭해주세요. jakarta-taglibs-standard-1.1.2.zip을 다운로드 받고 압축을 풉니다. 그 다음 lib 폴더로 들어오면 두 개의 jar파일이 있는데 이것을 ..

    [오라클 데이터베이스] NULL 관련 함수 (NVL/NVL2/NULLIF)와 DECODE 함수

    [오라클 데이터베이스] NULL 관련 함수 (NVL/NVL2/NULLIF)와 DECODE 함수

    https://www.youtube.com/user/newlec1의 내용을 정리해서 포스팅합니다. 데이터베이스를 이용할 때 NULL로 인해 애를 먹는 상황이 가끔 발생한다. 이를 해결하기 위해 NULL 관련 함수를 알아보고 DECODE 함수를 알아보자. [ NVL(입력값, 대체값) ] - 반환 값이 NULL일 경우에 대체 값을 제공하는 함수이다. * SELECT NVL(AGE, 0) FROM MEMBERS; 나이를 조회하는데 해당 컬럼의 값이 NULL이라면 0으로 출력한다. [ NVL2(입력값, NOTNULL 대체값, NULL 대체값) 함수 ] - NVL에서 조건을 하나 더 확장한 함수이다. - NULL일 경우 대체값도 넣을 수 있고 NULL이 아닐 경우 대체 값도 넣을 수 있다. * SELECT NVL..

    [오라클 데이터베이스] 형식 변환 함수 (TO_DATE/TO_CHAR/TO_NUMBER/TO_TIMESTAMP)

    [오라클 데이터베이스] 형식 변환 함수 (TO_DATE/TO_CHAR/TO_NUMBER/TO_TIMESTAMP)

    https://www.youtube.com/user/newlec1의 내용을 정리해서 포스팅합니다. 숫자 / 문자열 / 날짜를 자유자재로 바꾸는 형식 변환 함수에 대해 알아보도록 하겠습니다. [ TO_CHAR(NUMBER) ] - NUMBER 형식을 문자열(VARCHAR2)로 변환하는 함수이다. * SELECT TO_CHAR(12345678, '$99,999,999,999.99') FROM DUAL; 두 번째 인자는 첫 번째 인자의 숫자보다 같거나 길어야 한다. 만약 더 길다면 나머지 부분에 공백이 생긴다. * SELECT TO_CHAR(12345678.345, '$99,999,999,999.99') FROM DUAL; '$12,345,678.35' 출력한다. 지정한 소숫점 자리가 2이므로 반올림돼서 출력..

    [오라클 데이터베이스] 날짜 함수 (SYSDATE/CURRENT_DATE/SYSTIMESTAMP/CURRENT_TIMESTAMP/TIME_ZONE/NLS_DATE_FORMAT/EXTRACT/ADD_MONTHS/MONTHS_BETWEEN/NEXT_DAY/LAST_DAY/ROUND/TRUNC)

    [오라클 데이터베이스] 날짜 함수 (SYSDATE/CURRENT_DATE/SYSTIMESTAMP/CURRENT_TIMESTAMP/TIME_ZONE/NLS_DATE_FORMAT/EXTRACT/ADD_MONTHS/MONTHS_BETWEEN/NEXT_DAY/LAST_DAY/ROUND/TRUNC)

    https://www.youtube.com/user/newlec1의 내용을 정리해서 포스팅합니다. [ SYSDATE / CURRENT_DATE / SYSTIMESTAMP / CURRENT_TIMESTAMP ] SYS의 의미는 현재 오라클 서버가 설치되어 있는 곳의 시간을 의미한다. CURRENT는 세션에 대한 사용자를 기반으로 해서 세션에 설정된 시간대에 따른 날짜를 얻어다주는 함수를 의미한다. SYS와 CURRENT 모두 파라미터를 사용하지 않는다. 괄호가 없을 뿐 함수이다. * SELECT SYSDATE, CURRENT_DATE, SYSTIMESTAMP, CURRENT_TIMESTAMP FROM DUAL; SYSDATE은 오라클 서버의 시간대를 얻고 싶을 때 사용 날짜에 대한 시, 분, 초까지 얻을 ..

    [오라클 데이터베이스] 숫자 내장 함수 (ABS/SIGN/ROUND/TRUNC/MOD)

    [오라클 데이터베이스] 숫자 내장 함수 (ABS/SIGN/ROUND/TRUNC/MOD)

    https://www.youtube.com/user/newlec1의 내용을 정리해서 포스팅합니다. [ ABS(n) ] - 절대값을 구하는 함수이다. * SELECT ABS(35), ABS(-35) FROM DUAL; 35가 두 개 출력된다. [ SIGN(n) ] - 양수/음수를 알려주는 함수이다. - 양수이면 1, 음수이면 -1, 0이면 0을 출력한다. * SELECT SIGN(35), SIGN(-35), SIGN(0) FROM DUAL; 1, -1, 0이 차례대로 출력된다. [ ROUND(n, i) ] - 숫자의 반올림 값을 알려주는 함수이다. - 두 번째 인자를 지정하지 않으면 소수 첫 째 자리에서 반올림을 한다. - 두 번째 인자를 지정하면 설정한 인자 값이 반올림이 된다. * SELECT ROUN..

    [오라클 데이터베이스] 문자열 내장 함수 #2 (LPAD/RPAD/INITCAP/INSTR/LENGTH)

    [오라클 데이터베이스] 문자열 내장 함수 #2 (LPAD/RPAD/INITCAP/INSTR/LENGTH)

    https://www.youtube.com/user/newlec1의 내용을 정리해서 포스팅합니다. [ LPAD, RPAD ] - 문자열 패딩 함수이다. - 지정된 길이를 채워 문자열을 출력해야할 때, 길이가 맞지 않는 문자열은 다른 문자로 채워서 출력한다. - 한글은 바이트 단위이므로 영어를 사용할 때보다 길이를 곱하기 2를 해줘야 한다. * SELECT LPAD('HELLO', 5) FROM DUAL; 'HELLO'가 5글자이므로 'HELLO'만 출력 * SELECT LPAD('HELLO', 5, '0') FROM DUAL; 'HELLO'가 5글자이므로 'HELLO'만 출력 * SELECT LPAD('HELLO', 10, '0') FROM DUAL; 'HELLO'가 5글자이므로 '00000HELLO' ..

    [오라클 데이터베이스] 문자열 내장 함수 #1 (SUBSTR/CONCAT/TRIM/LOWER/UPPER/REPLACE/TRANSLATE)

    [오라클 데이터베이스] 문자열 내장 함수 #1 (SUBSTR/CONCAT/TRIM/LOWER/UPPER/REPLACE/TRANSLATE)

    https://www.youtube.com/user/newlec1의 내용을 정리해서 포스팅합니다. 문자열 내장 함수에 대해 다뤄보겠습니다. [ SUBSTR ] - 문자열을 원하는 길이만큼 슬라이싱이 가능하다. * SELECT SUBSTR('HELLO', 3) FROM DUAL; 'HELLO'를 3번째 문자열부터 자른다. 'LLO' 출력 * SELECT SUBSTR('HELLO', 1, 3) FROM DUAL; 'HELLO'를 1번째부터 3개만 자른다. 'HEL' 출력 * SELECT SUBSTRB('HELLO', 3) FROM DUAL; SUBSTRB의 B는 byte를 의미한다. 3번째 바이트부터 자른다. 영어는 문자 하나당 1바이트이고 3번째 바이트부터 자르므로 'LLO' 출력 EX1) 모든 학생의 이..

    [데이터베이스] DML, DDL, DCL이란?

    [데이터베이스] DML, DDL, DCL이란?

    데이터베이스에서는 모든 작업을 SQL문을 이용해 작업한다. SQL문은 다루는 객체나 용도에 따라 그룹핑하여 나눌 수 있다. 종류로는 DDL, DML, DCL이 있다. [ DDL (Data Definition Language) ] - 데이터 정의어 데이터베이스를 정의하는 언어를 말하며 데이터를 생성하거나 수정, 삭제 등 데이터의 전체 골격을 결정하는 역할의 언어를 말한다. * CREATE 데이터 베이스, 테이블 등을 생성하는 역할을 한다. * ALTER 테이블을 수정하는 역할을 한다. * DROP 데이터베이스, 테이블을 삭제하는 역할을 한다. * TRUNCATE 테이블을 초기화 시키는 역할을 한다. [ DML (Data Manipulation Language) ] - 데이터 조작어 정의된 데이터베이스에 입..

    [JSP] JSP Beans(빈즈)에 대해 알아보자

    빈즈(Beans)는 특정한 일을 독립적으로 수행하는 컴포넌트를 의미한다. 컴포넌트는 하나의 부품이라고 생각하면 쉽다. JSP빈즈는 JSP와 연동하려고 만들어진 컴포넌트 클래스를 말한다. JSP 빈즈는 컨테이너에 위치하며, JSP에 데이터베이스 연동 등 프로그램적 요소를 모듈화할 수 있도록 도와주는 역할을 한다. 따라서 가능하면 JSP 코드 내에 스크립트릿을 사용하는 것보다는 빈즈를 만들어 사용하는 것이 좋다. [ 빈즈 클래스 구조 ] 기본적으로 빈즈 클래스는 자바 클래스이므로, 자바 클래스 구성을 따른다. 다만 JSP 액션과 연동하기 위해 필요한 몇 가지 필수 구성의 차이가 있을 뿐이다. 하지만 이는 문법적인 제약이 아니기 때문에 규칙을 따르지 않더라도 컴파일 오류가 발생하지는 않는다. 다만 일반적인 매..