首页 > 解决方案 > Oracle 存储过程不工作,可能是因为语法

问题描述

我知道我是个白痴。但我一直在尝试在我的 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;

标签: databaseoracleplsqloracle11g

解决方案


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。它会对您诊断问题有很大帮助。


推荐阅读