함수 생성시에 적어주는 옵션중 security invoker 와 security definer 가 있습니다.
각각의 의미는 다음과 같습니다.
CREATE FUNCTION
...
SECURITY INVOKER | SECURITY DEFINER
함수 호출시
1. 함수 생성자 권한으로 수행 - security definer
2. 함수 생성자가 아닌 호출자 권한으로 수행 - security invoker (디폴트)
--------------------------------------------------
오라클에서는 위 각각에 아래와 같이 대응됩니다. 서로 디폴트값이 다릅니다.
1. definer (디폴트)
2. current_user
CREATE OR REPLACE FUNCTION
AUTHID DEFINER | CURRENT_USER
IS...
참고로 PPAS 에서는, ORACLE SYNTAX 로 함수/프로시져를 생성하면 이때는
오라클과 같은 디폴트(DEFINER)를 따릅니다.
ex) PPAS 에서만 존재하는 CREATE PROCEDURE 구문은 디폴트가 definer 권한 입니다.