본문 바로가기

오라클

오라클(oracle)과 MS-SQL 함수, 쿼리 차이점 출처 : http://mt1716.egloos.com/10590565 쿼리 오라클9i MS-SQL2000 값 대체 DECODE ex) DECODE(컬럼명, 'A', 'OK', 'B', 'NO', 컬럼명) CASE WHEN (오라클도 있음) ex) CASE WHEN 컬럼명 = 'A' THEN 'OK' WHEN 컬럼명 = 'B' THEN 'NO' ELSE 컬럼명 END 문자열 자르기 SUBSTR ex) SUBSTR('ANSDDD', 1, 2) = 'AN' SUBSTRING ex) SUBSTRING('ANSDDD', 1,2) = 'AN' 시스템시간 SYSDATE GETDATE() 널값제어 NVL ex) NVL(컬럼명,0) => 컬럼값이 널이면 0으로 대체 isNULL ex) isNULL(컬럼명,0) => 컬럼.. 더보기
[DB] 오라클(oracle) 락(lock) 확인 및 제거(kill) 오라클(oracle) 락(lock) 확인 및 제거(kill) ====================================================================================== -- 락걸린 테이블 확인 SELECT do.object_name, do.owner, do.object_type, do.owner, vo.xidusn, vo.session_id, vo.locked_mode FROM v$locked_object vo , dba_objects do WHERE vo.object_id = do.object_id ; --해당테이블이 락에 걸렸는지.. SELECT A.SID, A.SERIAL#, B.TYPE, C.OBJECT_NAME FROM V$SESSION A, V$.. 더보기
[DB] 오라클(oracle) 여러로우의 값을 하나의 컬럼으로 바꾸는 방법 출처 : http://amnesis.tistory.com/4 GBN VAL A 001 A 002 A 003 A 004 A 005 A 011 B 007 B 004 B 005 B 010 C 011 C 001 C 002 C 003 이런 내용이 있을때 gbn으로 그룹핑을 하고 val의 내용을 하나의 컬럼으로 받고 싶다고 해보자 예를 들어 GBN VAL A 001,002,003,004,005,011 B 004,005,007,010 C 001,002,003,011 이런식으로..^^ 대부분의 경우 역시 프로그램에서 해결하거나, decode 구분에 rownum이나 rank등을 사용하여 처리 했을 것이다. 하지만 프로그램에서 처리 할 경우는 디비에서 보다 느려지게되고, decode 구분으로 처리 할 겨우는 deocde로.. 더보기
[DB] 오라클(Oracle) Hint 사용법 힌트의 사용법 {SELECT | INSERT | UPDATE | DELETE} /*+ hint [text] [hint [text]] ... */ 혹은 {SELECT | INSERT | UPDATE | DELETE} --+ hint [text] [hint [text]] ... - 이러한 힌트의 사용은 SQL 전체가 아닌 쓰여진 SQL 블럭에만 적용됩니다. 힌트의 종류 별 분류 Optimization Goals and Approaches ALL_ROWS 혹은 FIRST_ROWS CHOOSE RULE Acess Method Hints AND_EQUAL CLUSTER FULL HASH INDEX 혹은 NO_INDEX INDEX_ASC 혹은 INDEX_DESC INDEX_COMBINE INDEX_FFS ROWID.. 더보기