구트아카데미 52

[Oracle] 명령어 정리

자료형 VARCHAR2 문자열 데이터 저장 CHAR 고정 길이 문자열 데이터 저장 NUMBER 숫자 데이터 저장 CLOB 대용량 텍스트 데이터 저장 DATE 날짜 형식 저장 BLOB 이진 데이터 저장 BFILE 데이터 파일 저장 테이블 생성 CREATE TABLE TEST( ID VARCHAR2(4000), PW CHAR(10), NUM NUMBER(2), NUM2 NUMBER(4,2), CONTENTS CLOB, WRITE_DATE DATE, PRIMARY KEY(ID) ); 테이블 생성(복사,데이터) CREATE TABLE DEPT_T AS SELECT * FROM DEPT; CREATE TABLE DEPT_T AS SELECT * FROM DEPT WHERE 1!=1; -- 데이터 빼고 복사 CRE..

[Oracle] 트랜잭션

트랜잭션이란? 100만원이 들어있는 A계좌에서 -> 잔액이 0원인 B계좌로 100만원을 이체 한다라는 과정. 1. -> A계좌 잔액을 0원으로 변경하는 UPDATE문 실행 UPDATE ACCOUNT SET BALANCE = 0 WHERE ACCNO = A계좌번호 2. -> B계좌 잔액을 100만원으로 변경하는 UPDATE문 실행 UPDATE ACCOUNT SET BALANCE = 1,000,000 WHERE ACCNO = B계좌번호 갑자기, 1번 SQL문을 실행 후, DBServer에 문제가 생기면, 그 돈은 증발해버립니다. 따라서, 두 UPDATE문은 하나의 실행 단위처럼 꼭 붙어 있어야 한다. 트랜잭션이란 더 이상 분할할 수 없는 최소 수행 단위를 뜻하며, 한 개 이상의 조작 명령어(DML)로 이루어..

[Oracle] 등가 조인 , 비등가 조인

등가 조인 테이블을 연결한 후에 출력 행을 각 테이블의 특정 열에 일치한 데이터를 기준으로 선정하는 방식 등가 조인은 내부 조인(inner join) 또는 단순 조인(simple join)으로 부르기도 한다. ex) SELECT EMPNO, ENAME, DEPTNO, DNAME, LOC FROM EMP E, DEPT D WHERE E.DEPTNO = D.DEPTNO; 이런 식으로 입력을 하면, ORA-00918 : 열의 정의가 애매합니다. 라는 에러 메세지를 볼 수 있다. SELECT E.EMPNO, E.ENAME, D.DEPTNO, D.DNAME, D.LOC FROM EMP E, DEPT D WHERE E.DEPTNO = D.DEPTNO ORDER BY D.DEPTNO, E.EMPNO; 이런식으로 정확..

[Oracle] 데이터의 빈 공간을 특정 문자로 채우는 LPAD,RPAD

LPAD([문자열 데이터 또는 열이름(필수)],[데이터의 자릿수(필수)],[빈 공간에 채울 문자(선택)]); - 남은 빈 공간을 왼쪽에 채운다. RPAD([문자열 데이터 또는 열이름(필수)],[데이터의 자릿수(필수)],[빈 공간에 채울 문자(선택)]); - 남은 빈 공간을 오른쪽에 채운다. SELECT 'ORACLE' LPAD('ORACLE',10,'#') AS LPAD_1, RPAD('ORACLE',10,'*') AS RPAD_1, LPAD('ORACLE',10) AS LPAD_2, RPAD('ORACLE',10) AS RPAD_2 FROM DUAL; LPAD_1 = ####ORACLE RPAD_1 = ORACLE**** LPAD_2 = ORACLE RPAD_2 = ORACLE

[Oracle] 문자열 일부를 추출하는 SUBSTR

함수 설명 SUBSTR(문자열 데이터, 시작 위치, 추출 길이) 문자열 데이터의 시작 위치부터 추출 길이만큼 추출 SUBSTR(문자열 데이터, 시작 위치) 문자열 데이터의 시작 위치부터 문자열 데이터 끝까지 추출 ex) SELECT JOB SUBSTR(JOB,1,2),SUBSTR(JOB,3,2) SUBSTR(JOB,5) FROM EMP; 1. 첫 번째 글자부터 두 글자 출력 2. 세 번째 글자부터 두 글자 출력 3. 다섯 번째 글자부터 끝까지 출력