oracle数据库实现id自增

oracle数据库实现id自增

oracle数据库实现id自增

推荐的方式:序列加触发器

1、创建序列

CREATE SEQUENCE GEN_TABLE_sequence

START WITH 1 -- 序列起始值

INCREMENT BY 1 -- 每次增加的数值

NOCACHE -- 不缓存(可选)

NOCYCLE; -- 不循环(可选)

解析: GEN_TABLE_sequence为序列名称, START WITH 设置序列的初始值,INCREMENT BY设置序列每次增加的值

2、创建表

CREATE TABLE "T_ORACLE_GEN_TABLE"

( "TABLE_ID" NUMBER(19,0) PRIMARY KEY,

"TABLE_NAME" VARCHAR2(200) default '',

"TABLE_COMMENT" VARCHAR2(500) default '',

"SUB_TABLE_NAME" VARCHAR2(64) default null,

"SUB_TABLE_FK_NAME" VARCHAR2(64) default null,

"CLASS_NAME" VARCHAR2(100) default '',

"TPL_CATEGORY" VARCHAR2(200) default 'crud',

"TPL_WEB_TYPE" VARCHAR2(30) default '',

"PACKAGE_NAME" VARCHAR2(100),

"MODULE_NAME" VARCHAR2(30),

"BUSINESS_NAME" VARCHAR2(30),

"FUNCTION_NAME" VARCHAR2(50),

"FUNCTION_AUTHOR" VARCHAR2(50),

"GEN_TYPE" CHAR(1) default '0',

"GEN_PATH" VARCHAR2(200) default '/',

"OPTIONS" VARCHAR2(1000),

"CREATE_BY" VARCHAR2(64) default '',

"CREATE_TIME" DATE,

"UPDATE_BY" VARCHAR2(64) default '',

"UPDATE_TIME" DATE,

"REMARK" VARCHAR2(500) default null

);

COMMENT ON TABLE T_ORACLE_GEN_TABLE IS '代码生成业务表';

3、创建触发器

CREATE OR REPLACE TRIGGER GEN_TABLE_trigger -- 创建触发器的名称

BEFORE INSERT ON T_ORACLE_GEN_TABLE -- 指定对应的表

FOR EACH ROW

BEGIN

SELECT GEN_TABLE_sequence.NEXTVAL INTO :NEW.TABLE_ID FROM dual;

END;

解析: SELECT GEN_TABLE_sequence.NEXTVAL INTO :NEW.TABLE_ID FROM dual;中GEN_TABLE_sequence为序列名称,TABLE_ID为你想自增的列名

✧ 相关推荐 ✧

【快餐店省钱装修】快餐店装修费用预算 快餐店装修预算省钱攻略
《宋家沟的远方》9787112238279.pdf
cctv3直播365

《宋家沟的远方》9787112238279.pdf

📅 07-01 👁️ 9634
店长薪资待遇
365完美体育app官网

店长薪资待遇

📅 07-11 👁️ 5505