PERSON给Scott赋予权限:
Grant 给Scott赋予表employees的select权限:
GRANT SELECT ON employees TO Scott;
Grant Succeeded.
Scott给Green赋予函数执行权限
GRANT EXCUTE ON query_emp TO green;
Grant Succeeded.
定义者权限:函数执行时,对表的默认访问默认使用的是定义者权限。
什么情况下会使用调用者权限?这需要在写函数的时候有特殊语句标识:AUTHID CURRENT_USER
例如:
CREATE PROCEDURE query_emp
(p_id IN employees.employee_id%TYPE,
p_name OUT employees.last_name%TYPE,
p_salary OUT employees.salary%TYPE,
p_comm OUT employees.commission_pct%TYPE)AUTHID CURRENT_USER
IS
BEGIN
SELECT last_name, salary,
commission_pct
INTO p_name, p_salary, p_comm
FROM employees
WHERE employee_id=p_id;
END query_emp;