Oracle 使用 触发器 实现自增长ID(oracle自增长id)
创建触发器SQL语句
-- Create sequence
CREATE sequence SEQ_TABLE_NAME
minvalue 1
maxvalue 999999999
START WITH 11
INCREMENT BY 1
cache 20;
CREATE OR REPLACE TRIGGER "TBALE_NAME_TRIGGER" BEFORE
INSERT ON "TBALE_NAME" REFERENCING OLD AS "OLD"
NEW AS "NEW" FOR EACH ROW DECLARE NEXTID NUMBER; -- NUMBER 为类型 (根据具体需求进行修改)
BEGIN
IF
: NEW.TABLE_ID IS NULL OR : NEW.TABLE_ID = 0 THEN
SELECT SEQ_TABLE_NAME.NEXTVAL INTO NEXTID FROM DUAL;
: NEW.TABLE_ID := NEXTID;
END IF;
END;
触发器名:SEQ_TABLE_NAME
表名:TABLE_NAME
主键:TABLE_ID
MyBatis 的 SQL 语句
<insert id="save" parameterType="**.**.**.TableName">
INSERT INTO TAVLE_NAME (TABLE_ID, NAME, SEX, REMARK)
VALUES (SEQ_TABLE_NAME.nextval, #{name,jdbcType=DECIMAL}, #{sex,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR})
</insert>
本文作者:笔兴洽谈室 哔哩哔哩:笔兴洽谈室 GitHub:StarJava1024 Gitee:StarJava1024
本文链接:https://www.cnblogs.com/CrayonXiaoxing/articles/17772758.html
原创文章仅用于学习,不得修改原作品,不得再创作。若本文侵犯某版权,请私信联系删除!如需转载,请私信!