목록SQL (4)
hello world
[특정 문자가 포함된 프로시저를 검색해 주는 쿼리] 특정 단어가 포함된 프로시저를 검색해주는 쿼리 아래의 custNm에 검색하고 싶은 문자를 입력하면 된다. SELECT * FROM USER_SOURCE WHERE 1=1 AND TYPE IN ('PACKAGE', 'PACKAGE BODY', 'PROCEDURE', 'FUNCTION') AND text LIKE '%custNm%' ORDER BY NAME, LINE; [생성된 프로시저 목록 전체 검색] SELECT OBJECT_NAME FROM USER_OBJECTS WHERE OBJECT_TYPE='PROCEDURE'; SELECT * FROM USER_OBJECTS WHERE OBJECT_TYPE='FUNCTION';
[인덱스(Index) 란]인덱스란 지정한 컬럼들 기준으로 일종의 목차를 생성하는 것이라고 볼 수 있다.또 인덱스란 데이터 검색 속도 향상을 위해 사용되는 기술이다. lee 를 찾는다고 가정했을 때 , 아래와 같은 상황에서는 모든 자리를 찾아봐야한다. 또 사람이 많아지면 많아질수록 시간이 오래걸린다.4-kim 5-park 6-lee 1-lim 2-koo 3-ju하지만 아래와 같이 목록을 만들어 둔다면 원하는 데이터만 찾을수있기 때문에 빠르다.1-lim 2-koo 3-ju 4-kim 5-park 6-lee 인덱스를 사용하면 좋은 경우1.테이블 행의 갯수가 많은 경우2.인덱스를 적용한 컬럼이 where절에서 많이 사용되는 경우3.검색 결과가 원본 테이블 데이터에 비해 적을 경우(2-4%)4.해당 컬럼이 nul..
[iBatis, myBatis 동적 테이블명 에러 ] 쿼리에서 파라미터로 테이블명을 받아와서 바꿔주고 싶은 경우가 있다. 그경우에 아래와 같은 쿼리를 사용할경우 select * from #tableNm# Translating SQLException with SQL state '42000', error code '903', message 테이블이 존재하지않습니다 라는 메시지를 마주한다.. 해결방안은 간단하다 ##이아니라 $$를 사용하는것.... select * from $tableNm$ $$ 는 동적 테이블 명이나 동적 컬럼명에 사용할수 있다_!
[Oracle n분전, n일전, 실행된 쿼리 구하기] 1. 몇분(n분) 전 실행된 쿼리(sql) : (sysdate-n/24/60) ex) 1분 전 실행된 쿼리 : select sysdate - 1/(24*60) from dual; 5분 전 실행된 쿼리 : select sysdate - 5/(24*60) from dual; *5분 전 ~ 1분 전 실행된 쿼리를 count를 구하라 (*생성된시간 필드 = createDate) select count(*) from where createDate between sysdate - 5/(24*60) and sysdate - 1/(24*60); 2. 몇분(n분) 후 실행된 쿼리(sql) : (sysdat+n/24/60) 3. 몇일(n일) 전 실행된 쿼리(sql) :..