posted by 권오성의 Biomedical Engineering 2009. 11. 5. 15:26

익스플로어를 새로 설치하고

http://go.microsoft.com/fwlink/?LinkId=74005 

싸이트로 고정 되면서 "찾을수 없습니다" 라고 들때

윗 파일을 다움 받아 실행 시키시면

remove  <-- 를 클릭 하면 됩니다..

그리고 다시 시작페이지를 설정 하시면 됩니다..^^

posted by 권오성의 Biomedical Engineering 2009. 10. 5. 11:38

프로시져 또는 트리거 실행 시 SELECT INTO에서 조회된 쿼리의 ROW가 존재하지 않을때

ORA-01403 에러발생 조치

1. Select  절에서 Row가 없는 경우 Exception으로 뺀다.

예)

  select rtptno
    into v_rtptno
    from mosstbat
   where pt_no = :new.q_patientno;

결과가 no_data_found로 나온 경우

아래와 같이 exception을 추가해 준다.

 begin

  select rtptno
    into v_rtptno
    from mosstbat
   where pt_no = :new.Q_PATIENTNO;

  exception
   when no_data_found then null;
   when others then
    null;

 end;

posted by 권오성의 Biomedical Engineering 2009. 5. 23. 15:05
오라클 힌트와 인덱스를 이용한 최대값 MAX 구하기 index_desc 

우선 구하고자 하는 컬럼에 index를 걸어 놓는다
예) CREATE INDEX [index_name] ON [column_name];

SELECT /*+ index_desc(A [index_name]) */ [column_name]
FROM [table_name] A
WHERE [column_name] > 0 AND rownum=1;

설명
/*+ 부터 */ 까지는 힌트를 적용시키는 부분이다.

내용을 보면

index_desc는 인덱스를 DESC로 읽으라는 뜻

A는 테이블 앨리아스

WHERE절의  [column_name]>0 조건을 주는 이유는 해당 컬럼의 인덱스를 사용하기 위해서다
오라클에서는 저 부분이 없어도 인덱스를 사용한다고 하였지만
저 부분을 안 쓰고 실행계획으로 확인하면 인덱스를 사용하지 않을 때가 있다.
안전빵으로 써 놓는 게 좋다.

rownum=1 인덱스를 DESC로 하였기때문에 첫번째 줄이 자연스럽게 MAX값이 된다.
첫번째 줄만 읽고 스캔을 멈추라는 의미다.