【发布时间】:2014-05-09 13:39:52
【问题描述】:
New 我想在我的 oracle 数据库中创建一个触发器来为每个新行生成主键。 pk 包含两部分,第一部分是to_char(sysdate, 'yyyyMMddHH24mmss'),第二部分是由序列生成的ID,如to_char(SEQ_A_ID,FM000000)。 SEQ_A 是一个从 1 开始的 int 序列,增量为 1。我的 pk 数据类型是 varchar2(20) 。
现在我这样写 SQL:
CREATE OR REPLACE TRIGGER "DEMO"."TRIGGER_A_ID" BEFORE INSERT ON "DEMO"."A" REFERENCING OLD AS "OLD" NEW AS "NEW" FOR EACH ROW ENABLE
BEGIN
select to_char(sysdate,‘yyyyMMddHH24mmss’) || to_char(SEQ_A_ID.nextval,'FM00000') into :new.id from dual;
END;;
上面的SQL有一些错误,但是我不知道将select语句的结果放入我的pk的正确方法。
【问题讨论】: