在Derby DB中插入之前

时间:2015-07-18 19:08:21

标签: database derby

目前我的应用程序使用的是Oracle数据库,我对它非常满意。 我的目的是用Derby实现相同的应用程序(只是为了让它更便携)。 在Oracle中,我使用了一个带有' BEFORE INSERT'和一个序列,它的工作正常。 我想用Derby实现同样的功能,但它接缝不可能。 我还发现了这篇文章:Sequences and Triggers in Derby DB 这篇文章的内容是否正确?为什么Derby没有实现这样的共同特征?

感谢Alb

这是我在oracle中使用的:

CREATE TABLE  "SITES" 
("SITE_ID" NUMBER NOT NULL ENABLE, 
"SITE_NAME" VARCHAR2(100) NOT NULL ENABLE, 
"SITE_LINK" VARCHAR2(500) NOT NULL ENABLE, 
"SITE_DESC" VARCHAR2(100) NOT NULL ENABLE, 
"SITE_DATA_IN" DATE, 
 CONSTRAINT "SITE_PK" PRIMARY KEY ("SITE_ID") ENABLE
)

CREATE OR REPLACE TRIGGER  "SITES_TRIGGER" 
before insert on SITES
for each row
begin
select SITES_SEQ.nextval into :new.SITE_ID from dual;
end;
/
ALTER TRIGGER  "SITES_TRIGGER" ENABLE
/

CREATE SEQUENCE   "SITES_SEQ"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 301 CACHE 20 NOORDER  NOCYCLE

1 个答案:

答案 0 :(得分:0)

根据documentation of v10.11,Derby确实支持before-insert-triggers。