본문 바로가기

Study/Oracle

(32)
[oracle] 쿼리문 연습 SELECT * FROM APT_INFO; SELECT * FROM HO_INFO; SELECT SUM(PRICE) FROM HO_INFO GROUP BY APT_CODE; UPDATE SCOTT.APT_INFO A SET A.TOTAL_HO_PRICE = (SELECT SUM(H.PRICE) FROM SCOTT.HO_INFO H WHERE A.APT_CODE = H.APT_CODE GROUP BY A.APT_CODE); SELECT SUM(H.PRICE) FROM APT_INFO A, HO_INFO H WHERE A.APT_CODE = H.APT_CODE GROUP BY A.APT_CODE; UPDATE APT_INFO SET TOTAL_HO_PRICE = ''; // SELECT * FROM ALL_..
[oracle] 버스 노선 추가 1. EXCEL파일로 온 데이터 확인한다. 아래의 순서가 맞아야 한다. col1/col2/col3/col4/col5/col6/col7/col8/col9/col10/col1/col2/col13/col14 버스ID/정류장ID/원정류장ID/다음정류장ID/지역코드/버스번호/순번/정류장명/거리/소요시간/위도/경도/수정여부 2. TMP_UPLOAD_COL13_TBL 테이블에 EXCEL파일 데이터 INSERT한다. 원래 TMP_UPLOAD_COL13_TBL 테이블에 데이터가 있으면 삭제한 후, INSERT 한다. # 데이터가 제대로 들어오지 않으면 .csv로 파일 변경 후, INSERT 하도록 한다. 이전의 SP_UPDATE_BUS_DATA_ZP 로 테스트를 해본다. * SP_UPDATE_BUS_DATA와 SP_UP..
[oracle] 테이블 복사, PROCEDURE & FUNCTION 실행 테이블 복사 테이블 생성과 동시에 복사 CREATE TABLE 복사데이터를_저장할_테이블명 AS SELECT * FROM 복사할_테이블_명; 데이터만 복사 INSERT INTO 복사데이터를_저장할_테이블명 SELECT * FROM 복사할_테이블_명; 출처: http://blog.naver.com/sihal7?Redirect=Log&logNo=110119343536 PROCEDURE & FUNCTION 실행 SET SERVEROUTPUT ON; -> DBMS OUTPUT 출력 EXEC NAME; 출처: http://blog.naver.com/seyoff?Redirect=Log&logNo=150110814721
[oracle] 거리 계산 function CREATE OR REPLACE FUNCTION SCOTT.calc_distance( pLat1 NUMBER, pLon1 NUMBER, pLat2 NUMBER, pLon2 NUMBER) RETURN NUMBER IS -- r is the spherical radius of earth in Kilometers(R은 킬로미터의 지구의 구면 반지름입니다) cSpherRad CONSTANT NUMBER := 6367; -- The spherical radius of earth in miles is 3956(지구의 구면 반경 3956 마일입니다) a NUMBER; vLat NUMBER; vLat1Rad NUMBER; vLat2Rad NUMBER; vLon NUMBER; vLon1Rad NUMBER; vLon2Ra..
[oracle] 엔터값 사라지게 하는 query 문 select replace(replace( startstatnnm, chr(10), ''), chr(13), '') from test_db
[Oracle] SQL LOADER , 테이블 중복 데이터 체크 SQL LOADER db 에 대용량으로 데이터를 넣을때 사용.. INSERT 방식보다 매우 빠르다. SQLLDR SCOTT/TIGER CONTROL='C:\XXX.CTL' LOG='XXX.LOG' DIRECT=TRUE sqlldr 이라는 프로그램이 있는데 이 프로그램 안에 console에서 실행한다. 오라클 bin 디렉토리에 exe 파일로 있고, 서버쪽에도 sqlldr 이라는 프로그램이 존재한다. 디렉토리는 오라클 홈/bin/ 여기에 control 이라는 곳에 작성한 ctl 파일을 넣으면 됨. ctl 파일 형식은.. 열어보면 create 와 비슷... ctl 샘플 2 LOAD DATA INFILE * APPEND INTO TABLE TBLMACS_TMPIDRLOG WHEN RECORD_TYPE='R' (..
[Oracle] 파일 읽고 쓰기 파일 읽고 쓰기 UTL_FILE.FOPEN PACKAGE http://www.oracleclub.com/lecture/1700 토드에서도 읽고 쓸 수 있지만, 매일 해야 되는 일이면 프로시져로 코드를 작성하여 배치로 돌릴 때 사용하면 된다. 예로 인사DB는 인사팀, 재고나 상품DB는 영업팀일 때 두 개의 테이블을 조인하지 못해서 데이터를 못 뽑을 때.. INTERFACE하는 방법으로 스케쥴러 등록해 놓고 몇시 몇분에 특정 디렉토리에서 가져가라하는 방식으로 파일로 하는 경우가 있고, 매일 뽑아줘야 하는 일이면 프로시저로 뽑아주면 된다. 요즘은 WEB SERVICE나 JSON, XML로 많이들 하지만 보안상 문제 되는 경우엔 아직도 이 방법으로 사용한다.
[Oracle] DB 링크, 시퀀스, 트리거 디비 링크 인스톨된 오라클1, 오라클2를 .. 연결.. 물리적으로 다르게 install 된 2개 이상의 db를 연결.. 2개의 connection 으로 하는게 아니라..하나의 connection으로.. 조인 및 기타 쿼리 실행 가능... 스냅샷도 포함이 되는데 잘 쓰이지는 않는다. 시퀀스 CREATE SEQUENCE NCCJST2011.SQ_BUS_BUS_MST START WITH 13201 MAXVALUE 9999999 MINVALUE 1 NOCYCLE CACHE 20 NOORDER; 시퀀스는 자동증가해서 증가한 값을 리턴해줌.. 이름.nexval() 인가.. 하나 증가 시킨 값을 리턴.. nextval() 다음 이쿼리는 트리거에 시퀀스를 적용한 예 CREATE OR REPLACE TRIGGER LOC..