DROP sequence SEQ_TICKET
create sequence SEQ_TICKET
minvalue 1
start with 5
increment by 1
nocache;
create or replace trigger SEQ_STOPCODE
before insert on STOPCODE --S_Depart 是表名
for each row
declare
nextid number;
begin
IF :new.ID IS NULL or :new.ID=0 THEN --DepartId是列名
select SEQ_STOPCODE.nextval --S_S_DEPART正是刚才创建的
into nextID
from sys.dual;
:new.ID:=nextID;
end if;
end SEQ_STOPCODE;
可以用上边代码片段的,下边不知道为啥总是报无效字符串
CREATE TABLE "C##ANDON"."line" (
"ID" NUMBER(11) VISIBLE NOT NULL ,
"ProductLineID" NVARCHAR2(50) VISIBLE ,
"LossName" NVARCHAR2(50) VISIBLE ,
"EndTime" DATE VISIBLE ,
"StartTime" DATE VISIBLE ,
"Creattime" DATE VISIBLE ,
"Remark" NVARCHAR2(50) VISIBLE
)
TABLESPACE "USERS"
LOGGING
NOCOMPRESS
PCTFREE 10
INITRANS 1
STORAGE (
INITIAL 65536
NEXT 1048576
MINEXTENTS 1
MAXEXTENTS 2147483645
BUFFER_POOL DEFAULT
)
PARALLEL 1
NOCACHE
DISABLE ROW MOVEMENT
;
CREATE SEQUENCE SEQ_LINE --序列名
increment by 1 -- 每次递增1
start with 1 -- 从1开始
nomaxvalue -- 没有最大值
minvalue 1 -- 最小值=1
/
create or replace trigger SEQ_STATION --序列名
before insert on STATION --表名
for each row
begin
select to_char(SEQ_STATION.nextval) into :new.ID from dual; --序列值.nextval
end SEQ_STATION;
或者是
create sequence SEQ_TICKET
minvalue 1
start with 24810
increment by 1
nocache;
create or replace trigger SEQ_STOPCODE
before insert on STOPCODE --S_Depart 是表名
for each row
declare
nextid number;
begin
IF :new.ID IS NULL or :new.ID=0 THEN --DepartId是列名
select SEQ_STOPCODE.nextval --S_S_DEPART正是刚才创建的
into nextID
from sys.dual;
:new.ID:=nextID;
end if;
end SEQ_STOPCODE;