2017-04-01 37 views
0

我正在尝试编写一个PL/SQL过程来按部门名称计算部门中的员工数量。每个部门都有一个与其关联的部门编号,每个员工在进入时都被分配。这是我迄今的尝试。经过很多练习之后,我仍然对PL/SQL非常不满。我在这里有没有公然的逻辑或语法错误?我没有要求任何人在这里为我进行调试,但oracle sql的错误报告没有提供太多的帮助。感谢任何回答的人。PL/SQL程序问题

create or replace function NumOfEmployee_ByDept 
    (dept_name in department.Dname%type) 
    return number 
as 
    empCount number; 

begin 
    select count(*) into empCount 
    from department, employee 
    where dno = dnumber 
    and dname = dept_name; 

    return(empCount); 
end; 
+0

我测试了一下,你的语法看起来不错。有可能你的客户端需要一个正斜杠块结束符。你能告诉我你用什么客户端来编译你的函数吗?你能在你的文章中包含错误信息吗?谢谢 – alexgibbs

+0

你得到的错误是什么?什么'显示错误'给你? –

+0

它是否编译? SQL查询是否独立工作?你到底有什么问题? –

回答

0

语法看起来不错。或许桌上的赠款存在问题。验证您试图编译此函数的模式是否获得了表的正确权限。 我建议你插入一个异常块并记录交付的错误。