首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PLS-00103:遇到符号“?”

PLS-00103:遇到符号“?”
EN

Stack Overflow用户
提问于 2014-12-24 00:44:40
回答 1查看 40关注 0票数 2

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

代码语言:javascript
复制
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;​
EN

回答 1

Stack Overflow用户

发布于 2014-12-24 01:06:15

尝试使用dual来代替select查询中的table。尝试使用此通用触发器语法为自动增量列创建触发器

代码语言:javascript
复制
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%将替换为关联列的名称。

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

代码语言:javascript
复制
CREATE SEQUENCE %seqname%
START WITH 1
INCREMENT BY 1;

Refer Here

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27624532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档