본문 바로가기

DB

(6)
Oracle Instance Client 설치 가벼운 oracle instance client 를 설치하면 toad 등을 사용할 수 있다. 1. 오라클 사이트에서 필요한 instance client 버전을 다운로드 받는다.2. 디렉토리를 생성 후에 압축 파일을 푼다.3. 시스템 환경변수에 아래 내용을 등록한다. PATH = %PATH%;C:\설치디렉토리ORACLE_HOME = C:\설치디렉토리TNS_ADMIN = C:\설치디렉토리NLS_LANG = KOREAN_KOREA.KO16MSWIN949 4. 생성한 디렉토리에 tnsnames.ora 파일을 생성한다.
oracle table+index size 계산 SELECT SEGMENT_NAME "TABLE_NAME", segment_type, TABLESPACE_NAME "TABLESPACE", SUM(BYTES/1024/1024) "MEGABYTES" FROM USER_SEGMENTS WHERE SEGMENT_TYPE IN ( 'TABLE', 'TABLE PARTITION', 'INDEX PARTITION' ) AND SEGMENT_NAME NOT LIKE 'BIN$%' group by SEGMENT_NAME, segment_type, TABLESPACE_NAME order by SUM(BYTES/1024/1024) desc, segment_name ; SELECT TABLESPACE_NAME, SUM(BYTES)/1024/1024/1024 "SIZE(GB..
다중 Row 결과를 단일행으로 컴마로 분리해 출력하는 방법 (1) [펌] 안녕하세요. 오늘부터 김홍선님의 'SQL Query Tips' 게시판에 올라와있는 여러 유용한 내용들에 대한 풀이를 올리게 된 엑셥이라고 합니다. 김홍선님의 허락을 득하고 올리게 되었으며, 이런 기회를 주신 김홍선님에게 감사의 말씀을 올립니다. ^^; 시간 날때마가 김홍선님의 좋은 내용들을 알기쉽게 풀이하여 올리도록 하겠으며 혹시라도 이해가 잘 안가는 부분이 있다면 리플을 달아주시면 고맙겠습니다. /*************************************************************************************/ /* 다중 Row 결과를 단일행으로 컴마로 분리해 출력하는 방법 */ /**********************************************..
필드 정보 가져오기 SELECT * FROM USER_TAB_COLUMNS WHERE COLUMN_NAME LIKE '%필드명%' ; SELECT * FROM ALL_COL_COMMENTS WHERE OWNER = '유져명' AND COMMENTS LIKE '%코멘트%' ; 코멘트 추가하는 oracle query comment on table [테이블명] is '코멘트' comment on column [테이블명].[컬럼명] is '코멘트'
내 쿼리에 Index 고속버스를 꼭 태우자! (Oracle) ● INDEX를 사용하지 않은 경우 (다음의 4가지 경우엔 Index를 사용하지 않게 때문에 주의해서 사용해야 함.) ▷ INDEX COLUMN의 변형 ex) 외부적 변형 SELECT * FROM DEPT WHERE SUBSTR(DNAME, 1, 3) = 'ABC' 개선 => SELECT * FROM DEPT WHERE DNAME LIKE 'ABC'||'%' ex) 내부적 변형 SELECT * FROM DEPT WHERE JOB = 12 (※ job은 Varchar2로 생성된 경우 내부적으로 char -> int로 형변환이 일어남 : INT(JOB)) 개선 => SELECT * FROM DEPT WHERE JOB = '12' ※ 숫자는 형을 정확히 모를 경우에는 무조건 ''로 묶어 주는것이 좋음 만약 j..
있으면 UPDATE, 없으면 INSERT (Oracle) UPSERT라고 불리는 MERGE는 기본적으로 2개의 테이블을 비교하여 한쪽으로 MERGE하는 기능을 수행한다. 예를 들어 MERGE INTO TEMP_MERGE1 A USING TEMP_MERGE2 B ON ( A.EMP_NO = B.EMP_NO ) WHEN MATCHED THEN UPDATE SET A.EMP_NM = B.EMP_NM WHEN NOT MATCHED THEN INSERT (EMP_NO, EMP_NM) VALUES ( B.EMP_NO, B.EMP_NM); 위 SQL문은 TEMP_MERGE1에 TEMP_MERGE2.EMP_NO가 있을 경우 TEMP_MERGE1의 EMP_NM을 TEMP_MERGE2.EMP_NM으로 UPDATE 하고, 없을 경우, TEMP_MERGE2의 값을 INSERT하는 ..