目前我的应用程序使用的是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