Intermediate
17-6. | When you want to call a packaged function (a function defined in the specification of a package) from within an SQL statement, what statement do you need to add to that specification? What is it for? |
17-7. | What are the four different purity levels you can attempt to assert about a function? |
17-8. | Add the necessary code to this package specification to assert all four purity levels for the total function: CREATE OR REPLACE PACKAGE comp
IS
FUNCTION total
(sal_in IN NUMBER,
comm_in IN NUMBER := NULL)
RETURN NUMBER;
END;
/ |
17-9. | What is the minimum required purity level for a packaged function to be callable inside SQL? |
17-10. | Under what circumstances do you need to assert the WNPS purity level for a packaged function or procedure? |
17-11. | Which purity levels can you assert about the following function if you define it inside a package? FUNCTION betwnstr (str IN VARCHAR2, startat IN INTEGER, endat IN INTEGER := NULL) RETURN VARCHAR2 IS BEGIN RETURN SUBSTR (str, startat, endat-startat+1); END; |
17-12. | Which purity levels can you assert about the following function? FUNCTION ename_from (empno_in IN emp.empno%TYPE)
RETURN emp.ename%TYPE
IS
retval emp.ename%TYPE;
BEGIN
SELECT ename INTO retval
FROM emp WHERE empno = empno_in;
RETURN retval;
END; |
17-13. | Suppose that you define the following package in the database: PACKAGE who_is_paying_whom IS too_low CONSTANT NUMBER := 15000; /* This is above minimum wage! */ my_salary CONSTANT NUMBER := too_low; ceo_salary NUMBER := too_low * 250; END; ... |