将值从表传递给函数的Oracle视图?

时间:2018-01-17 19:07:50

标签: oracle function

我正在尝试创建一个将显示两列的Oracle视图:

Employee_ID,Department_ID

要获取department_id,我需要将employee_id传递给我今天正在执行的函数:

select * from TABLE(user.fn_department('dept',employee_id)

这将只为我传递给employee_id的department_id列表。

我可以从员工表中获取唯一员工的列表。

如何组合这两个输出?

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用类似

的内容
CREATE OR REPLACE VIEW USER_DEPT_VIEW AS
  SELECT e.EMPLOYEE_ID,
         USER.FN_DEPARTMENT('dept', e.EMPLOYEE_ID) AS DEPARTMENT_ID
    FROM EMPLOYEE e;

然后你可以使用它作为例如。

SELECT *
  FROM USER_dEPT_VIEW
  WHERE EMPLOYEE_ID = 1234

祝你好运。

答案 1 :(得分:0)

试试这个,

SELECT b.employee_id, a.department_id
  FROM employees b, table(user.fn_department('dept',b.employee_id)) a
 ORDER by b.employee_id