oracle 中的错误绑定变量

Vig*_*ale 1 sql oracle triggers sequence

我正在尝试创建一个触发器,但不知何故我收到了名为“错误绑定变量”的错误。我在谷歌上搜索了它,但在所有情况下我都得到了相同的答案,即用户试图使用错误的列名创建触发器。这是我的脚本。

CREATE TABLE  "POPSETTING"     
(   "settingid" number primary key,
    "HOSTNAME" VARCHAR2(50),    
    "INCOMINGSERVER" VARCHAR2(100),
    "REQUIREDSSL" VARCHAR2(1),
    "PORT" NUMBER,
    "OUTGOINGSERVER" VARCHAR2(100),
    "REQUIREDTLS" VARCHAR2(1),
    "REQUIREDAUTH" VARCHAR2(1),
    "PORTTLS" NUMBER,
    "PORTSSL" NUMBER
    )
Run Code Online (Sandbox Code Playgroud)

顺序:

create sequence auto_inc start with 1 increment by 1 nomaxvalue
Run Code Online (Sandbox Code Playgroud)

扳机:

create or replace trigger popid
   before insert on popsetting
   for each ROW
begin 
   select auto_inc.NEXTVAL
  into :new.settingid from dual 
end;
/
Run Code Online (Sandbox Code Playgroud)

请让我知道我的错误。

A.B*_*ade 5

由于您在创建语句中使用了" "around,settingid因此您使其区分大小写。
默认情况下,oracle 将列名视为大写,因此没有:new.settingid(实际上是:new.SETTINGID
您可能需要尝试:new."settingid"或删除""create table 语句中的