业务上的需要用到Oracle(完全没有用过)!!!!!!
下面是部分经验:
表主键ID自增
- 第一种触发器:
建表:
CREATE TABLE "TF_ECP_ORDER_PRE_ACCEPTED" (
"id" NUMBER NOT NULL ,
"accept_json" VARCHAR2(255 BYTE) ,
"weborder" VARCHAR2(17 BYTE) ,
"accept_date" DATE ,
"ext_custid" NUMBER
);
创建序列:
PRE_ACCEPTED_ID_SEQ:序列名
MINVALUE:自增字段最小值
NOMAXVALUE:最大值 没有就算nomaxvalue
INCREMENT BY:每次增值1
START WITH:每次增值1
NOCACHE:不缓存
CREATE SEQUENCE PRE_ACCEPTED_ID_SEQ MINVALUE 1 NOMAXVALUE INCREMENT BY 1 START WITH 1 NOCACHE;
创建触发器:
PRE_ACCEPTED_trigger:触发器名
TF_ECP_ORDER_PRE_ACCEPTED:表名
EACH ROW:每一行
INTO:INSERT 插入操作生效
CREATE OR REPLACE TRIGGER PRE_ACCEPTED_trigger BEFORE INSERT ON TF_ECP_ORDER_PRE_ACCEPTED FOR EACH ROW
BEGIN
SELECT PRE_ACCEPTED_ID_SEQ.NEXTVAL INTO :NEW.ID FROM DUAL;
END;- 第二种
利用Mybits
<selectKey keyProperty="id" resultType="long" order="BEFORE">
<![CDATA[
SELECT PRE_ACCEPTED_ID_SEQ.NEXTVAL FROM DUAL
]]>
</selectKey>从序列表中查出ID,插入的时候INSERT进去
会用到的语句:
- 查询对应的触发器
SELECT
trigger_name
FROM
all_triggers
WHERE
table_name = 'TF_ECP_ORDER_PRE_ACCEPTED';- 查询对应的序列:
SELECT
*
FROM
user_sequences
WHERE
sequence_name = 'PRE_ACCEPTED_ID_SEQ'
评论区
还没有人评论