[Oracle] 14. 트랜잭션과 잠금(Exclusive Lock, Share Lock, Dead Lock, Undo Segment)
트랜잭션(Transaction) 반드시 함께 실행되어야 하는 작업의 단위를 의미. 즉 사용자의 의도에 따라 여러 개의 문장으로 구성된 트랜잭션은 반드시 동시에 실행(COMMIT;)되거나 취소(ROLLBACK;)된다. RDBMS는 트랜잭션을 통해 작업의 단위를 결정함으로써 작업 결과의 신뢰성을 확보한다. 트랜잭션의 기본 과정은 다음과 같다. 1. DML(insert, update, delete), DDL(create, alter, drop, truncate), DCL(grant, revoke)문 실행 2. 입력된 행에 잠금이 걸림 3. COMMIT 또는 ROLLBACK 실행 4. 잠금 풀림 언두 세그먼트(Undo Segment) DML 작업이 발생할 때 그 작업을 취소(ROLLBACK;)시키기 위해서는 이..
2019. 4. 26.
[Oracle] 12. 다양한 변환함수(TO_CHAR, TO_DATE, TO_NUMBER)
TO_CHAR 날짜와 숫자를 문자로 변환한다, 출력데이터 형식을 지정한다. TO_CHAR(날짜, 출력형식), TO_CHAR(숫자, 출력형식) TO_DATE 데이터를 날짜형으로 해석한다. TO_DATE(문자, 해석형식) TO_NUMBER 데이터를 숫자로 해석한다. 대부분의 경우 오라클의 자동형변환에 의해 숫자로 읽혀지므로 사용빈도가 낮다. SQL보다 PL-SQL에서 간혹 사용된다. 예제1) 현재 날짜를 다양한 형식으로 출력한다 SELECT TO_DATE(sysdate, 'YYYY/MM/DD') date1, TO_DATE(sysdate, 'YYYY/MM/DD:HH24:MI:SS') date2, TO_DATE(sysdate, 'YYYY/MM/DD:HH:MI:SS AM') date3 FROM dual; SELE..
2019. 4. 23.
[Oracle] 10. 다양한 날짜함수(ROUND, TRUNC, MONTH_BETWEEN, ADD_MONTHS, NEXT_DAY)
ROUND 형식에 맞추어 반올림한 날짜를 반환한다 ROUND(날짜, 형식) ROUND(sysdate, 'DD') → 2019/04/23 TRUNC 형식에 맞추어 절삭한 날짜를 반환한다 TRUNC(날짜 형식) TRUNC(sysdate, 'YYYY') → 2019/01/01 MONTH_BETWEEN 두 날짜간의 기간을 월 수로 계산한다 MONTH_BETWEEN(날짜1, 날짜2) MONTH_BETWEEN('2011/07/01', '2011/08/01') → -1 MONTH_BETWEEN('2011/08/01', '2011/07/01') → 1 ADD_MONTHS 날짜에 n달을 더한 날짜를 계산하다 ADD_MONTH(날짜, n) ADD_MONTH('2011/07/01', 23) → 2013/06/01 NEXT_..
2019. 4. 23.
[Oracle] 09. 다양한 문자함수(LOWER, UPPER, INITCAP, SUBSTER, TRIM, LPAD, RPAD, LENGTH, TRANSLATE, REPLACE)
LOWER 문자열을 소문자로 변환한다 LOWER('ORACLE') → oracle UPPER 문자열을 대문자로 변환한다 UPPER('oracle') → ORACLE INITCAP 첫문자만 대문자로 변환하고 나머지는 소문자로 변환한다 INITCAP('oRaCle') → Oracle SUBSTR 문자열 내에 지정된 위치의 문자열을 반환한다 SUBSTR(문자열, 시작위치, 출력문자의 갯수) SUBSTR('oracle', 1, 2) → or TRIM 접두어나 접미어를 잘라낸다 TRIM([leading|trailing|both]) 제외문자 FROM 문자열 제외문자를 지정하지 않으면 공백문자를 잘라낸다 TRIM('o' FROM 'oracle') → racle LPAD, RPAD 지정된 문자열의 길이만큼 빈 부분에 ..
2019. 4. 23.
[Oracle] 08. 다양한 숫자함수(ROUND, TRUNC, MOD, POWER, CELL, FLOOR, ABS, SQRT, SIGN)
ROUND n자리까지 반올림한다 ROUND(m,n) ROUND(123.456, 3) → 123.456 TRUNC n자리 미만을 절삭한다 TRUNC(m,n) TRUNC(123.4567, 3) → 123.456 MOD m을 n으로 나눈 나머지 계산한다 MOD(m,n) MOD(10,4) → 2 POWER m의 n승을 계산한다 POWER(m,n) POWER(2,4) → 16 CELL m보다 큰 가장 작은 정수를 찾는다 CELL(m) CELL(3.34) → 4 FLOOR m보다 작은 가장 큰 정수를 찾는다 FLOOR(m) FLOOR(2.34) → 2 ABS m의 절대값을 계산한다 ABS(m) ABS(-4) → 4 SQRT m의 제곱근을 계산한다 SQRT(m) SQRT(9) → 3 SIGN m이 음수일 때 -1, ..
2019. 4. 23.