ORACLE创建序列及触发器

-- 创建新表
CREATE TABLE "库名"."表名" (
  "ID" INT NOT NULL,
  "SPID" VARCHAR2(36),
  "ORGANCODE" VARCHAR2(20),
  "SEND_TIME" DATE,
  "SP_UPLOAD" VARCHAR2(1),
  PRIMARY KEY ("ID")
)
-- 建立新序列
CREATE SEQUENCE "库名"."SEQ_表名"  -- SEQ_后边为表名前边库名
MINVALUE 1                         -- 生成的最小值
MAXVALUE 999999999999999           -- 生成的最大值
INCREMENT BY 1                     -- 列生成的步长 值为1,就代表每次+1
START WITH 1                       -- 序列的初始值,默认1
CACHE 20                           -- 放序列的内存块的大小,默认20
-- 创建触发器
CREATE TRIGGER "库名"."SEQ_表名" 
BEFORE INSERT ON                   -- 指定触发时机为插入操作前触发
"库名"."表名" 
FOR EACH ROW                       -- 说明创建的是行级触发器
BEGIN
  select SEQ_SP_PACK_LOG.nextval into :new."主键" from dual;  -- PLSQL块,根据需求改写
END;

猜你喜欢

转载自blog.csdn.net/Tiuntel/article/details/128820423
今日推荐