我知道我是个白痴…但是我已经尝试在oracle数据库中创建这个简单的存储过程一段时间了,并且我一直得到错误“procedure created with compilation errors”。我似乎找不到任何问题,我正在遵循我在网上找到的语法。我正在使用一个带有pl/sql 11的oracle xe 11g服务器。请帮忙!

CREATE OR REPLACE PROCEDURE hr.countEmployee(passin IN NUMBER)
IS
BEGIN
SELECT COUNT(*) FROM hr.mitch_employee_motors WHERE hr.mitch_employee_motors.deptno = hr.countemployee.passin;
END;

最佳答案

aleksej一针见血,我继续使用反映他评论的代码。

CREATE OR REPLACE PROCEDURE hr.countemployee (passin IN NUMBER)
IS
   l_count INTEGER;
BEGIN
   SELECT COUNT (*) INTO l_count
     FROM hr.mitch_employee_motors
    WHERE hr.mitch_employee_motors.deptno = hr.countemployee.passin;
   DBMS_OUTPUT.PUT_LINE (l_count);
END;

您在使用什么编写和执行您的sql和pl/sql?我鼓励您尝试SQL Developer。这对你诊断这个问题有很大帮助。

关于database - Oracle存储过程不起作用,可能是因为语法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50989057/

10-13 02:13