본문 바로가기

DB/Oracle

(4)
[Oracle] DBLink @ 이름에서 유추가능하듯 각기 서로 다른 DB를 연결해주는 기능으로, Table명 바로 뒤 @를 이용하여 DBLinkID를 붙혀주어 사용한다. 이때 DBLinkID는 DB의 로그인 아이디가 아닌 별도로 설정한 LinkID가 들어간다. select * from table@DBLinkID DBLinkID를 생성하는 방법 1. TNSNAME.org에 DB의 정보가 저장되어있다면 USING으로 해당 별칭으로 호출 하여 생성할 수 있다. CREATE PUBLIC DATABASE LINK ${DBLinkID} --사용될 DBLink ID CONNECT TO ${Remote_DB_ID} --원격으로 접속할 사용자 ID IDENTIFIED BY "${password}" --원격으로 접속할 사용자 PW USING ${tns..
[Oracle] Decode(if, else if, else) Decode는 쉽게 말해, if, else if, else 같은 기능을 한다. select Decode(empno,'1233','Y','N') /*Decode(비교할 데이터 컬럼, 해당 값, true라면 해당 값이 반환, false라면 해당값이 반환)*/ /*Decode(A, B, if(A==B), else)*/ from emp; 예를 들어 emp테이블이 임의로 있다고 가정할 때, empno의 데이터값을 가져와 1233이 맞다면 Y 아니라면 N을 반환한다. select Decode(empno,'1234','Y','1233','U','N') /*Decode(비교할 데이터컬럼, 비교값, 반환값, 비교값, 반환값, else반환값)*/ /*Decode(A, B, if(A==B), C, else if(A==C),..
[Oracle] Merge Into MySQL의 Duplicate와 같은 기능을 하는 방법으로 Oracle에서 주로 사용된다. Insert into {테이블} values({데이터}) On Duplicate Key update {update할 데이터처리} Merge into {기준 테이블} Using{참조테이블|dual} on {조건} when matched then Update set when unmatched then Insert {컬럼} values{데이터값} 해당 기준 테이블의 update, insert하게 된다.
[Oracle] Trigger Trigger트리거 - 방아쇠라는 뜻으로 방아쇠를 당기면 총알이 발사되듯 해당 지정 이벤트를 설정하면 다음에 해당하는 실행되는 프로그램 Trigger의 기본 문법은 create or replace trigger ${트리거이름} [before/after] 트리거 이벤트 on 테이블명 declare 선언문 brgin PL/SQL 코드 end; [before / after] 택 1로 작성하여, 해당 이벤트 시점을 지정해주어야 한다. before - 트리거 이벤트 전 after - 트리거 이벤트 후 트리거 이벤트는 insert, update, delete 즉, before insert on emp 하게 되면 emp가 인서트되기 이전에 트리거가 실행된다. [for each row]가 붙을 수 있는데, 해당 코드가..