DB (21) 썸네일형 리스트형 오라클 현재 실행중인 쿼리확인 오라클에서 현재 실행중인 쿼리확인을 위한 쿼리 status가 ACTIVE인 것들로 조건을 줘서 검색하면 된다 SELECT a.sid, -- SID a.serial#, -- 시리얼번호 a.status, -- 상태정보 a.process, -- 프로세스정보 a.username, -- 유저 a.osuser, -- 접속자의 OS 사용자 정보 b.sql_text, -- sql c.program -- 접속 프로그램 FROM v$session a, v$sqlarea b, v$process c WHERE a.sql_hash_value=b.hash_value AND a.sql_address=b.address AND a.paddr=c.addr AND a.status='ACTIVE'; ORACLE 데이터 문자,숫자(판별식) REGEXP_LIKE와 REGEXP_REPLACE 함수를 써서 정규식을 활용한 판별을 진행 1.정규식 [0-9] 숫자, [^0-9] 숫자 외의 것 [가-힣] 한글, [^가-힣] 한글 외의 것 [A-Z] 영어대문자, [^A-Z] 영어대문자 외의 것 (소문자도있음) 2.WHERE 절에서 REGEXP_LIKE 사용 ⊙ 기본 LIKE 문처럼 정규식에 포함된 문자 하나라도 있으면 조회된다. ⊙ NOT을 사용하면 해당 문자가 포함되지않은 데이터가 조회된다 ⊙ ^정규식에 NOT을 사용하여 해당 문자가 아닌 모든것을 제외하므로써 해당 문자만 포함되어있는 데이터만 조회된다 EX) WHERE REGEXP_LIKE(컬럼, '[0-9]') --데이터에 숫자가 하나라도 포함되면 조회 WHERE REGEXP_LIKE(컬럼.. 오라클 삭제한 데이터 복구 기본 쿼리 select * from 테이블명 AS OF TIMESTAMP (SYSTIMESTAMP -INTERVAL '시간' MINUTE) 해당 테이블의 10분 전 데이터를 뽑아낼 수 있는쿼리 MINUTE(분) 이 아니라 SECOND(초) 나 HOUR(시간) 으로 도 조회가 가능 만능은 아니고 어느정도 시간이 지나기 전까지만 복구가 가능하며 저런식으로 잘못 삭제한 테이블의 데이터를 가져와서 insert into 테이블명 select * from 테이블명 AS OF TIMESTAMP ( SYSTIMESTAMP - INTERVAL '10' MINUTE ) 이런식의 쿼리로 다시 insert가 가능하다. 혹시 delete를 잘못했을 때 간단하게 복구가능 할 수 있는 쿼리로 반드시 알아둬야할 쿼리라고 생각.. EXISTS, IN 차이점 EXISTS 같은 경우 NOT 을 사용할 경우 NULL을 포함하여 결과 도출 IN 같은 경우 NULL 을 포함하지 않고 결과를 도출한다. EXISTS 든 IN 이든 원하는 결과가 나오지 않을 경우 LEFT JOIN 을 사용하여 NULL값의 여부로 결과를 뽑아내야된다. 4년전의 나는 사소한 것도 참 열심히 기록했구나... 오라클 업데이트(update) 서브쿼리문 여러행의 SELECT 문 결과를 테이블에 업데이트해주기 위한 SQL문 기본문법 UPDATE {대상 테이블명} SET (필드1, 필드2, 필드3) = (SELECT 필드1, 필드2, 필드3 FROM { 테이블명1 }) WHERE EXISTS( SELECT 1 FROM { 테이블명1 } ) 하단 EXISTS 문이 없으면 UPDATE 대상 테이블 전체가 업데이트됨 이전 1 2 3 다음