我正在尝试编写一个 PL/SQL 程序来取消预订。我一直在列名上收到标识符错误

I'm trying to write a PL/SQL Procedure that cancels a reservation. I keep getting an identifier error on a column name

create or replace procedure Cancel_Reservation(resid in number)
as
Begin
Update Reservation
set Res_cancel = 'yes'
where resid = reserve_id;
end;

这是我正在使用的 table 的照片 我的目标是通过输入 reserve_id 并将 res_cancel 从 'no' 更改为 'yes' 来取消预订。我的计划是不删除预订。

错误如下:

使用大小写混合的列创建 table 的人......好吧,没有三思而后行。在 Oracle 中,从不 那样做;只会造成问题。我建议您将列重命名为

alter table reservation rename column "Res_cancel" to res_cancel;

因为,实际上,您必须使用双引号引用 table 并完全匹配字母大小写。所以:

Update Reservation
set "Res_cancel" = 'yes'     --> this