大家好我今天刚刚被告知这个网站,我可以使用一些帮助。 我已经阅读了规则,我明白我正在做什么代码明智我们刚开始Pl sql上周之前我只做了基本的sql。但是现在我停止调用我所做的功能:/我觉得很傻。这是一个相当直接的功能,我确信这是正确的,因为我的sql老师说,它看起来很好看一眼'但她没有告诉我如何调用这些功能,我真的想知道它是否有效。
我知道如何用dbms.out调用基本的sql和函数以及pl sql但是我在这里画一个空白,我记得她说在select中使用 1 而不是employee_no只有两行请打电话,请有人告诉我如何打电话给我。我也附上了ERD。
(a)计算并返回给定员工所处理的不同任务类型的总数。
SHOW ERRORS
CREATE OR REPLACE FUNCTION task_types(eno employee.employee_no%TYPE)
RETURN NUMBER IS
task_var task.task_type_no%TYPE;
BEGIN
SELECT COUNT(DISTINCT t.task_type_no)
INTO task_var
FROM employee e, task t, assignment a
WHERE e.employee_no = a.employee_no
AND a.task_id = t.task_id
AND e.employee_no = eno;
RETURN task_var;
END;
实体 - 关系图:
谢谢:)
答案 0 :(得分:3)
您可以使用SQL中的函数
select task_types(e.employee_no) as task_types
from employee e;
或者,如果您知道特定的员工编号
select task_types(1)
from dual;
或者在plsql中
begin
dbms_output.put_line(task_types(1));
end;
/
答案 1 :(得分:0)
select task_types(your_employee_id) from dual;
由于your_employee_id使用您在帖子中提到的任何现有ID或1。