반응형
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 |