我知道我是个白痴.. 但我已经尝试在我的 Oracle 数据库中创建这个简单的存储过程已有一段时间了,但我不断收到错误“创建过程时出现编译错误”。我似乎找不到任何问题,我正在遵循我在网上找到的语法。我正在使用带有 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 一针见血,我按照反射(reflect)他的评论的代码进行跟进。
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/