본문 바로가기
반응형

Web Programing!/Oracle20

[ORACLE] 오라클 테이블 복구하기 대부분 개발자라면 where절 없이 업데이트를 해서 낭패를 본적이 있으실꺼에요. 테이블 전체가 업데이트 쳐지는 충격과 공포의 멘붕 상태가 오곤 하죠.ㅋㅋ 하지만 db가 오라클이라면 약간의 희망이 있을 수 있는데요. 일단 해당 테이블을 복사를 하신후 복사 원본의 테이블을 delete 합니다. 그리고 나서 다시 insert를 하는데요. insert into "테이블명" select * from "테이블명" as of timestamp(SYSTIMESTAMP - INTERVAL '120'MINUTE) 복구할 시간을 조정 할 수도 있는데요. 바로 '120'MINUTE 입니다. 120분으로 되어있으니 2시간 전으로 돌려서 복구해달라는 뜻입니다. 오라클이신분은 멘붕 상태에 빠지지 마시고 밑져야 본전이니 꼭 복구해 .. 2012. 4. 25.
[ORACLE] 오라클 필드 합치기. 오라클 필드 합치기. 오라클에서는 필드를 합치려면 '||' 라는 녀석을 사용을 하면 됩니다. 예를 들어 ADD1필드와 ADD2 필드가 , ADD3 필드가 있는데 한필드로 나타내고자 할때 사용합니다. ex) SELECT ADD1 || ADD2 || ADD3 AS ADD FROM TABLE명 MySQL는 오라클의 ||이 없기 때문에 concat(area1, area2, area3) 를 씁니다. 효과는 || 과 같은 효과입니다. 2012. 4. 24.
오라클 원하는 자리수로 만들어 select하기 - LPAD, RPAD 문자조작함수 DB에서 원하는 자리수만큼 가져올 수가 있습니다. 물론 프로그램으로 만들 수도 있지만 귀찮잖아요.ㅎㅎ 아예 만들어오면 편하니까요~ 1. LPAD(필드명,채워야 하는 전체공백,채워야 할 숫자) - 원하는 숫자를 왼쪽에 채움. ex) SELECT LPAD(1,4,0) FROM TABLE명 -> 0001 ex) SELECT LPAD(100,4,0) FROM TABLE명 -> 0100 2. RPAD(필드명,채워야 하는 전체공백,채워야 할 숫자) - 원하는 숫자를 오른쪽에 채움. ex) SELECT LPAD(1,4,0) FROM TABLE명 -> 1000 ex) SELECT LPAD(102,4,0) FROM TABLE명 -> 1020 2012. 4. 10.
[ORACLE]중복제거&전체 값 가져오기 ROW_NUMBER() SELECT * FROM ( SELECT 컬럼1, 컬럼2, 컬럼3, ROW_NUMBER() OVER( PARTITION BY 중복조회컬럼 ORDER BY 정렬컬럼 ) CNT FROM 테이블 ) WHERE CNT > 1 여러 테이블을 조인해서 가져올때 중복제거를 하기에 어려울때가 많습니다. 히 다 짜여져있는 쿼리 및 소스에서 변경하기란 힘들다. GROUP BY도 하기 힘들때가 있죠 이럴때 사용하면 편할것 같은 중복제거입니다. ROW_NUM처럼 레코드 갯수에 숫자를 붙여주는데 ROW_NUMBER() OVER는 더욱 세밀하게 나눌 수 있게 [ 중복조회컬럼 ]을 정의한 필드에 중복된 순위를 만들어줍니다. 2012. 2. 16.
반응형