본문 바로가기

Dev. Database/Oracle

(29)
집계와 조건 분기 - 1. 집계 대상으로 조건 분기 1. 집계 대상으로 조건 분기- UNION을 사용한 방법 SELECT PREFECTURE, SUM(POP_MEN) AS POP_MEN, SUM(POP_WOM) AS POP_WOM FROM( SELECT PREFECTURE, POP AS POP_MEN, NULL AS POP_WOM FROM POPULATION WHERE SEX = '1' UNION SELECT PREFECTURE, NULL AS POP_MEN, POP AS POP_WOM FROM POPULATION WHERE SEX = '2') tmp GROUP BY PREFECTURE; -> 실행계획을 보면 POPULATION 테이블에 풀 스캔이 2회 수행되는 것을 확인할 수 있다. - CASE식을 사용한 방법SELECT PREFECTURE, SUM(C..
문자 및 날짜 기본 함수 /* 문자 함수 */ SELECT SYSDATE , TRUNC(SYSDATE, 'YEAR') AS CUR_YEAR /*년의 시작일*/ , TRUNC(SYSDATE, 'MONTH') AS CUR_MON /*월의 시작읷*/ , TRUNC(SYSDATE, 'DAY') AS CUR_DAY /*주의 시작읷*/ , TRUNC(SYSDATE, 'HH24') AS CUR_HH /*현재 시작시간*/ , TRUNC(SYSDATE, 'MI') AS CUR_MI /*현재 분의시간*/ , TO_CHAR(SYSDATE, 'YYYY/MM/DD HH24:MI:SS') AS CUR_TIME , TO_CHAR(123456,'999,999') AS NUM_TO_CHAR , TO_DATE('20161204', 'YYYYMMDD') AS C..
[ORACLE] 테이블의 Primary Key Column 조회 Query 문 -- PK 조회SELECT A.TABLE_NAME, B.COLUMN_NAME, A.CONSTRAINT_NAME, A.CONSTRAINT_TYPE, A.SEARCH_CONDITION FROM USER_CONSTRAINTS A, USER_CONS_COLUMNS B WHERE A.CONSTRAINT_NAME = B.CONSTRAINT_NAME AND A.TABLE_NAME = 'TB_REFUND_APP_LIST_PILOT' AND A.CONSTRAINT_TYPE = 'P';
ORA-28001: the password has expired 해결법 JDBC 연동해서 오라클 계정 잘 쓰고 있었는데 어느 순간 ORA-28001: the password has expired 어쩌구 에러가 나오면서, DB연결이 실패할 때가 있다. 오랜 기간이 지나면 해당 id의 password가 자동으로 만료 되는지는 모르겠지만, 저 에러메시지는 만료되었다는 것을 말한다. 그러므로 해결하기 위해서는 오라클에서 SQL PLUS 실행해서 사용자명(ID) : 여기에 기존에 쓰던 ID를 넣으면, password가 expired 되었으니 새로 입력하라고 뜬다. 그러면 새로운 password를 쳐주고 확인을 위해서 한번 더 password를 쳐주면 암호가 재설정 되면서(원래의 암호로 쳐줘도 된다) 위의 에러가 해결된다!
ORACLE|DB Link 생성 및 사용법 1. 권한 DB Link를 생성하기 위해서는 DBA 권한이 있어야 함2.생성 방법 1) tnsnames.ora의 Alias 활용 방법 CREATE [SHARED][PUBLIC] DATABASE LINK link_name [CONNECT TO CURRENT_USER] [USING 'connect_string'] CREATE DATABASE LIKN CONNECT TO IDENTIFIED BY USING 2) 직접 db 정보 사용 방법 CREATE DATABASE LINK CONNECT TO IDENTIFIED BY USING '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = ) (PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICAT..
[오라클] 문자열 함수 보호되어 있는 글입니다.
[펌] 오라클 (Oracle) 11g 를 위한 토드(Toad) 무료 버전 다운받기 프로젝트중에 제일 많이 사용했던 DB 유틸은Toad 였습니다.많이 사용하다 보면 UI 에 익숙해지기 때문에 사용하기가편리해 집니다.. 그러다 보니 더 많이 사용하게 되고 꼭 그게 있어야프로젝트 하기 편합니다. 예전에는 무료버전이 없어서 크랙한 프로그램을 사용하거나Keygen 을 다운받아 key 를 입력해서 사용했습니다. 그러다 보니바이러스 프로그램에 걸리거나 해킹으로 이용되는 경우가많았습니다 그런데 무료버전이 있다는 걸 알고 다운받아 사용해 보기로했습니다. www.toadworld.com 으로 접속합니다. 그리고 다운로드 탭으로 갑니다. DOWNLOAD 아래 our freeware 가 있는 것을보니 이제 모든 프로그램이 무료인가 봅니다. 리스트에서 Oracle 용 64bit프로그램을 다운받습니다. 다운받..
SIGN 함수 오라클에는 SIGN이라는 함수가 있다.이게 무슨함수 일까 알아보았더니....원하는 결과값(?!)이 양수 / 음수 / 0 이냐에 따라서 값을 반환해주는 함수이다. 그럼 간단한 예제를 보자. SELECT LEC_ID, LEC_TIME, LEC_POINT, DECODE(SIGN(LEC_TIME-LEC_POINT), 0, '일반과목', 1, '실험과목', -1, '기타과목')FROM LECTURE; 이와 같이, SING 값에따라 일반과목/실험과목/기타과목을 반환한다.