반응형

http://blog.naver.com/wwko1212/120115420877


deterministc 함수는 입력값이 같으면 리턴되는 결과 값도 항상 같음을 보장하는 홤수이다.

함수 기반 인덱스를 생성할 때 사용자 정의함수를 사용하려면 해당 함수는

반드시  deterministic 함수로 생성되어야 한다.

 

아래 함수는 deterministic 키워드를 사용했지만 실제로는 deterministic 함수로 보기 어렵다.

왜냐하면 하나의 쿼리에서 이 함수가 반복 실행된다면 도중에 다른 값이 리턴될 수 있기 때문이다.

 

create or replace function uf_name(p_empno number)

 return varchar2

 deterministic

is

 v_ename emp.ename%type;

begin

 select ename into v_ename

 from emp

 where empno = empno;

 return v_ename;

end;

/

반면 다음 함수는 입력값이 같으면 항상 결과 값이 같으므로 deterministic 함수의

적절한 예제로 볼 수 있을것이다.

 

create or replace function uf_tax (p_sal number)

 return number

 deterministic

is

begin

 return p_sl*0.01;

end;

/

[출처] deterministic|작성자 HYUN


반응형

'연구개발 > MYSQL' 카테고리의 다른 글

mysql> show status  (0) 2015.02.26
Multi Rows Insert - ON DUPLICATE KEY UPDATE  (0) 2015.02.19
MySQL optimize/analyze table  (0) 2015.02.18
cursor 커서  (0) 2015.02.17
binlog 파일 관리  (0) 2015.02.11

+ Recent posts