이준빈은 호박머리

IT 프로그래밍 개발 정보 블로그, 이준빈은 호박머리 입니다.

반응형

Database 39

Oracle 11g ADRCI를 이용한 ADR 관리

Oracle 11g 에서 새롭게 등장한 ADR을 adrci 유틸을 통해 관리. 1. PuTTY 접속 2. root 계정 접속 3. su - oracle 접속 4. adrci 접속 5. set homepath diag/rdbms/orcl/orcl -------> 로그 위치 (orcl)은 리스너 계정 6. show control 7. ADRID SHORTP_POLICY LONGP_POLICY LAST_MOD_TIME LAST_AUTOPRG_TIME -------------------- -------------------- -------------------- ---------------------------------------- ------------------------------ 1335663986 2..

Database/ORACLE 2013.03.28

MYSQL LOCK 해제(KILL) 방법

MYSQL에서 원치않는 TABLE LOCK이 걸렸을 경우 해제 방법입니다. SHOW PROCESSLIST 쿼리를 실행하면 아래와 같은 결과가 출력됩니다. Id User Host db Command Time State Info 42 root 192.168.0.41 test Query 44 Waiting for table metadata lock 실행했던 쿼리 위의 내용 중 State 컬럼에 Waiting for table metadata lock 이라는 항목이 LOCK 상태입니다. Info 컬럼에 실행했던 쿼리문을 확인 후 ID 컬럼을 잘 메모합니다. LOCK 상태에 대한 정보 확인이 끝나면 프로세스 아이디를 아래의 쿼리로 실행하여 프로세스를 강제 종료시킵니다.42라는 숫자는 프로세스 ID 입니다. KIL..

Database/MYSQL 2013.03.06

MYSQL 외래키(Foreign key) 지정(RESTRICT, CASCADE, NO ACTION, SET NULL)

MYSQL 외래키(Foreign key) 지정 시 on delete rule(삭제 시), on update rule(변경 시) 옵션 지정 RESTRICT, CASCADE, NO ACTION, SET NULL 1. RESTRICT : 개체를 변경/삭제할 때 다른 개체가 변경/삭제할 개체를 참조하고 있을 경우 변경/삭제가 취소됩니다.(제한) 2. CASCADE : 개체를 변경/삭제할 때 다른 개체가 변경/삭제할 개체를 참조하고 있을 경우 함께 변경/삭제됩니다. 3. NO ACTION : MYSQL에서는 RESTRICT와 동일합니다. 4. SET NULL : 개체를 변경/삭제할 때 다른 개체가 변경/삭제할 개체를 참조하고 있을 경우 참조하고 있는 값은 NULL로 세팅됩니다.

Database/MYSQL 2013.02.27

오라클 프로시저(Oracle Procedure) 기초 예제

오라클 프로시저(Oracle Procedure) 기본 사용 방법 입니다. 아래는 파라미터를 1개 입력받아 TABLE_A라는 테이블에서 데이터를 뽑아오는 간단한 프로시져 생성 예제입니다. CREATE OR REPLACE PROCEDURE TEST_PROC ( S_SEQ IN NUMBER, -- NUMBER 타입의 입력받은 파라미터 OUT_DATA OUT SYS_REFCURSOR -- SELECT문 결과를 담을 커서(CURSOR) ) IS BEGIN OPEN OUT_DATA FOR -- 커서 열기 SELECT * FROM TABLE_A WHERE SEQ = S_SEQ; -- 데이터 불러오는 쿼리문(마지막에 세미콜론은 필수) END; /

Database/ORACLE 2013.02.07

토드(Toad)에서 오라클 프로시져(Oracle Procedure) 실행 방법

토드 (Toad for ORACLE) Editor 창에서 직접 프로시져를 실행하는 방법입니다. 일단 실행 구문은 아래와 같습니다. EXEC 패키지명.프로시져명(파라미터1, 파라미터2, :VAR); 패키지명은 패키지 안에 프로시져를 생성했을 경우 사용하고, 패키지 없이 그냥 프로시져만 생성했다면 생략하면 됩니다. :VAR은 해당 프로시저에서 커서를 사용할 때 커서를 바인딩해주는 것입니다. VAR 말고 다른 이름이 와도 상관없습니다. 위의 구문 작성 후 실행을 하면 아래와 같은 창이 뜹니다. Type을 CURSOR로 선택 후 OK 버튼을 누르면 프로시져 실행 결과가 출력됩니다.

Database/ORACLE 2013.02.07

MSSQL IF EXISTS (SELECT UPDATE, SELECT INSERT)

MSSQL 프로시져의 쿼리문 중 IF문을 사용한 예제입니다. SELECT문을 사용한 쿼리를 실행 후 결과값이 존재하면 A동작, 결과값이 존재하지 않으면 B동작 수행을 하는 구문입니다. 여기서 중요한 부분은 EXISTS입니다. IF EXISTS( SELECT SEQ FROM TABLE_A WHERE SEQ = @P_SEQ ) BEGIN //SELECT문의 결과값이 존재할 경우 실행 UPDATE TABLE_A SET USERNAME = @P_NAME WHERE SEQ = @P_SEQ END ELSE BEGIN //SELECT문의 결과값이 없을 경우 실행 INSERT INTO TABLE_A(SEQ, USERNAME) VALUES(@P_SEQ, @P_NAME) END

Database/MSSQL 2013.02.07

START WITH ~ CONNECT BY PRIOR 구문(계층 구조)

계층쿼리 START WITH ~ CONNECT BY PRIOR 구문 답변형 게시판이나, 계층적 트리구조를 사용하는 프로세스에서START WITH CONNECT BY 구분을 많이 사용합니다. START WITH*. START WITH 구분 다음에는 계층관계를 검색하기 위한 조건이 위치합니다.*. 시작할 루트(ROOT)를 지정합니다해줍니다.*. 서브쿼리(SUB QUERY) 형태도 가능합니다. CONNECT BY PRIOR*. CONNECT BY 절 다음에는 계층 구조에서 부모와 자식간의 관계를 명시합니다.*. PRIOR를 사용하여 부모 컬럼을 판별할 수 있고 PRIOR에 의해 상위계층인지 하위계층인지 판별할 수 있습니다.*. 이 구문에서는 서브쿼리(SUB QUERY) 형태는 사용할 수 없습니다. ※ 참고로 ..

Database/ORACLE 2013.01.31

[MYSQL] 조인, JOIN (INNER JOIN, OUTER JOIN)

MYSQL*. 조인(JOIN)은 여러 테이블의 상호 연관관계를 연결하여 결과값을 가져올 때 사용합니다.1. INNER JOIN  *. INNER JOIN은 조인하는 테이블의 ON 절의 조건이 일치하는 결과만 출력됩니다.  EX) SELECT *            FROM A_TABLE AS A      INNER JOIN B_TABLE AS B     ON A_TABLE.COL1 = B_TABLE.COL1;--A_TABLE.COL1과 B_TABLE.COL1이 일치하는 데이터만 출력됩니다.2. OUTER JOIN  *. OUTER JOIN은 조인하는 테이블의 ON 절의 조건 중 한쪽의 데이터를 모두 가져옵니다.     OUTER JOIN은 LEFT OUTER JOIN, RIGHT OUTER JOIN, F..

Database/MYSQL 2013.01.22

[MSSQL] 조인,JOIN (INNER JOIN, OUTER JOIN)

MSSQL*. 조인(JOIN)은 여러 테이블의 상호 연관관계를 연결하여 결과값을 가져올 때 사용합니다. 1. INNER JOIN *. INNER JOIN은 조인하는 테이블의 ON 절의 조건이 일치하는 결과만 출력됩니다. EX) SELECT * FROM A_TABLE AS A INNER JOIN B_TABLE AS B ON A_TABLE.COL1 = B_TABLE.COL1;--A_TABLE.COL1과 B_TABLE.COL1이 일치하는 데이터만 출력됩니다. 2. OUTER JOIN *. OUTER JOIN은 조인하는 테이블의 ON 절의 조건 중 한쪽의 데이터를 모두 가져옵니다. OUTER JOIN은 LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN 이렇게 3가지가 있..

Database/MSSQL 2013.01.22

오라클 UNION 사용 시 ORDER BY 처리

UNION 사용 시 ORDER BY를 사용하는 방법. 오라클 쿼리 생성 시 UNION과 ORDER BY를 함께 사용하다보면 오류가 발생할 경우가 있습니다. SELECT NO, NAME, TEL, ADDR FROM A_TABLE ORDER BY NOUNIONSELECT NO, NAME, TEL, ADDR FROM B_TABLE ORDER BY NO;위의 쿼리는 A_TABLE과 B_TABLE의 컬럼을 모두 뽑아오는 쿼리입니다.A_TABLE에서 NO컬럼으로 정렬, B_TABLE에서도 ORDER BY 를 사용하여 정렬한결과를 UNION하여 결과를 출력할 경우 오류가 발생합니다. ------------------------------------------------------------해답은 아래에 있습니다.SE..

Database/ORACLE 2013.01.22

MYSQL 자주쓰는 함수

1. CONV(N,from_base,to_base) : 수의 진수를 바꾸는 함수입니다. from_base 진수의 N을 to_base 진수의 수로 변환하여 문자열로 리턴합니다. 2. CONCAT(str1, str2, ...) : str1과 str2의 문자를 합하는 함수입니다. 3. LENGTH(str) : 문자의 길이를 리턴하는 함수입니다. 4. LOCATE(substr, str) : substr이 str에서 시작하는 문자의 위치를 리턴하는 함수입니다. 5. INSTR(str, substr) : LOCATE() 함수와 같은 일을 하는데 인자순서만 바뀝니다. 6. LPAD(str, len,padstr) : str에서 왼쪽방향으로 str의 길이가 len이 될때까지 padstr을 꼐속 덧붙이는 함수입니다. 7...

Database/MYSQL 2013.01.11
반응형