これはばかげているかもしれませんが、これが可能かどうか知りたいです。
sys_refcursor を返す関数があります
CREATE OR REPLACE FUNCTION get_employee_details(p_emp_no IN EMP.EMPNO%TYPE)
RETURN SYS_REFCURSOR
AS
o_cursor SYS_REFCURSOR;
BEGIN
OPEN o_cursor FOR
SELECT EMPNO,
ENAME,
JOB,
MGR,
HIREDATE,
SAL,
COMM,
DEPTNO
FROM emp
WHERE EMPNO = p_emp_no;
RETURN o_cursor;
-- exception part
END;
/
を使用して結果を得ることができました
select get_employee_details('7369') from dual;
列名を指定して上記の関数の結果を取得することは可能ですか? たとえば、ename または給与を取得したい場合、plsql ブロックを使用せずに SQL ステートメントで指定するにはどうすればよいでしょうか? 何かのようなもの
select get_employee_details('7369') <specific column> from dual;