PLS-00103:遇到符号“¿”

时间:2014-12-23 16:44:40

标签: sql

我正在尝试确保我的主键自动递增。下面的代码是我到目前为止所尝试的。

create or replace trigger field_null
  before insert on table        
   for each row 
begin  
  if :new.number_id is null then
    select number_id_SEQ.nextval into :new.number_id from table;
 end if;
 end;​

1 个答案:

答案 0 :(得分:1)

而不是select select中的表,尝试使用dual。尝试使用此常规触发器语法为自动增量列

创建触发器
CREATE OR REPLACE TRIGGER %triggername%
BEFORE INSERT ON %tablename% FOR EACH ROW
BEGIN
  SELECT %seqname%.NEXTVAL
  INTO :NEW.%columnname%
  FROM DUAL;
END;

%seqname%将替换为序列名称。

%triggername%将替换为触发器的名称。

%columnname%将替换为关联列的名称。

要创建序列,您可以使用以下语法: -

CREATE SEQUENCE %seqname%
START WITH 1
INCREMENT BY 1;

Refer Here