【发布时间】:2021-04-10 10:12:23
【问题描述】:
我正在尝试学习 PLSQL,但在创建过程时遇到问题。
我要解决的任务是:创建一个检查佣金的程序。高于 0.35 的佣金只能为具有 15 年以上经验的员工输入。如果佣金较高或练习较低,则会打印错误。利用异常(Exception 和 Raise)来定义错误消息。
我写了这个,但是有一个错误:
PLS-00103 在期望以下之一时遇到符号 ">"::= 。 (@%;
create or replace PROCEDURE PROVIZIA(num in number) IS
employee_id number;
com_pct employees.commission_pct%type;
begin
select commission_pct into com_pct from employees where employee_id = num;
if PRAX(employee_id) > 15 then
com_pct > 0.35;
else PRAX(employee_id) < 15 then
com_pct < 0.35;
end if;
exception when com_pct > 0.35 and PRAX(employee_id) < 15 then
dbms_output.put_line('error');
raise;
end PROVIZIA;
你能告诉我哪里出错了吗?
谢谢。
【问题讨论】:
-
您希望
com_pct > 0.35;做什么?com_pct是一个变量,错误基本上是说它期待一个赋值。>不是赋值运算符。您还没有定义要抛出的异常。从任务措辞中,我不太确定您是否应该检查现有佣金,或者为特定员工传递新的佣金值并在申请前对其进行验证 - 作为一种检查。
标签: oracle plsql error-handling procedure