Database/ORACLE(9)
-
[오라클]Oracle Function
oracle function 함수 만들어보자~~~ CREATE OR REPLACE FUNCTION Schemas(연결고리).GET_LIST( function 이름) ( V_NAME IN VARCHAR2 ) RETURN VARCHAR2 IS TEMP_AGE VARCHAR2(10) := '' ; -- 임시변수? BEGIN SELECT AGE INTO TEMP_AGE --이곳에 임시로 처들어감 FROM TABLE WHERE NAME = V_NAME ; IF SQL%NOTFOUND THEN RETURN(' ') ; END IF; RETURN (TEMP_AGE); EXCEPTIONWHEN OTHERS THEN RETURN(' ') ; END GET_LIST( function 이름) ;/ 이런 식으로 응용해서 쓰면..
2014.01.21 -
oracle start with connect by prior
oracle start with connect by prior 절 은 트리형태 구조이다 쇼핑몰 같은 1뎁스 2뎁스 3뎁스 4뎁스 에대한 트리구조를 쿼리로 만들어바라 그얼마나 조인을 해야하고 복잡한일인가또한 게시판에대한 일반글과 댓글에 대한 트리구조를 만들려고 해보자. 예를들면 -Sport-골프-골프공 -골프채 -골프장갑-스노우보드-부츠-데크-장갑이런구조가 있는 쇼핑몰이라고 생각하자 -Sport [ depth = 1 , no= 1 , upno=1]-골프 [ depth = 2 , no= 2 , upno=1]-골프공 [ depth = 3 , no= 3 , upno=2]-골프채 [ depth = 3 , no= 4 , upno=2]-골프장갑 [ depth = 3 , no= 5 , upno=2]-스노우보드 [ de..
2014.01.09 -
Oracle MERGE INTO (Upsert) 구문
oracle merge into 성능 알아보자 . Oracle 9 버전 이상에서 가능합니다. IF 문이라고 생각하면된다.(기존 ex : IF 뭐뭐 = true THEN ELSE END IF;) true 이면 Update set , false 일 경우 Insert into 가 실행이 된다. 이건 머지 하는분들은 ? 밑에껄 보고 MERGE INTO 에 대한 구문을 참고 바란다. ㅋ 그리고 주의할점 WHEN MATCHED THEN 부분에서 UPDATE SET 까지만 써줘야함 테이블명까지쓰면 안됨 INSERT도 INSERT 만 써줘야한다 간혹 INTO 까지 쓰면 안됨 밑에 예제를 참고하세요~ MERGE INTO 테이블이름 USING 대상테이블 // 같은 테이블이면 DUAL 이라 써준다 ON 조건(조인조건) WH..
2013.10.31 -
[Oracle TRIGGER]오라클 트리거
database oracle trigger 란 무엇이냐?Table에 대한 이벤트를 자동으로 실행 해주는것 DML(데이터조작언어) 데이터 상태의 관리를 자동화 하는것이다.쉽게 말하자면 자동으로 실행되는 PL/SQL 문이라고 보면됨..예를들면 A,B,C 라는 테이블에 공통으로 주민번호가 있다 . A라는 주민번호가 지워지면 B,c테이블 자동으로 지워지게하거나 Update , insert 등을 할수있음~ 문장 trigger : insert, delete, update 한번만 실행 됨 컬럼값이 변화가 생길때마다 지가 아라서 실행 (FOR EACH ROW 옵션이 사용안됨) 행 trigger : 컬럼의 데이터행이 변화가오면 실행됨 변경 후의 행은 OLD, NEW 사용하여 가저올수 있음 (FOR EACH ROW 옵션이..
2013.10.10 -
오라클 소수점
아래와 같이 실행 하게되면 SELECT TO_CHAR(1/2) FROM DUAL; 0.5 가나와야 정상이다 하지만 결과값은 -> .5 대박 0이없다... 이렇게 사용하면 소수점이붙는다 SELECT TO_CHAR(TO_CHAR(1/2),'FM9990D99') FROM DUAL;
2013.03.14 -
Oracle 내장함수
숫자 관련 함수 ROUND(VALUE[,n]) : 소수 n자리까지 반올림, n음수 가능 TRUNC(VALUE[,n]) : 소수 n자리까지만 표시(버림), n음수 가능 MOD(m,n) : m/n의 나머지 문자열 함수 LOWER(변환하려는 값) : 소문자로 변경 UPPER(변환하려는 값) : 대문자로 변경 INICAP(변환하려는 값) : 앞글자(INITIAL)만 대문자, 나머지는 소문자 CONCAT(A,B) : 문자열 결합(|| 연산과 같음) SUBSTR(col, m[,n]) : 문자열 m~n까지 반환, m이 마이너스이면 끝에서부터 카운트, n이 없으면 끝까지 LENGTH(col) : 문자열의 길이 INSTR(col, m) : m이 포함된 위치 반환 LPAD(col, m, 'string') : 문자열 폭을 ..
2013.02.08