前言
本篇文章給大家主要介紹的是在oracle中如果創(chuàng)建自增長(zhǎng)表的方法,這里要用到序列。下面話不多說,我們來看示例代碼。
示例代碼
create table tb_student
(
id NUMBER(10) not null,
createtime DATE not null,
constraint PK_tb_student primary key (id)
);
comment on table "tb_student" is
'學(xué)生表';
comment on column "tb_student"."id" is
'主鍵id';
comment on column "tb_student"."createtime" is
'創(chuàng)建時(shí)間';
--創(chuàng)建序列
create sequence seq_tb_student
minvalue 1
nomaxvalue
start with 1
increment by 1
nocycle --一直累加,不循環(huán)
nocache;
--創(chuàng)建觸發(fā)器,如果insert語句不指定ID自動(dòng)插入增長(zhǎng)值
CREATE OR REPLACE TRIGGER tr_tb_student
BEFORE INSERT ON tb_student FOR EACH ROW WHEN (new.id is null)
begin
select seq_tb_student.nextval into:new.id from dual;
end;
注意:觸發(fā)器是非必須的,可以從業(yè)務(wù)上嚴(yán)格要求指定插入值。
注意oracle限制對(duì)象名的字符長(zhǎng)度不能超過30個(gè)字符,所以表名要控制在一定的長(zhǎng)度否則后面創(chuàng)建序列可能會(huì)超過限制,建議表名控制在27個(gè)字符以下。
總結(jié)
以上就是Oracle創(chuàng)建主鍵自增表的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者使用Oracle帶來一定的幫助,如果有疑問大家可以留言交流,小編會(huì)盡快給大家回復(fù)的。
您可能感興趣的文章:- Springboot+MybatisPlus+Oracle實(shí)現(xiàn)主鍵自增的示例代碼
- Oracle創(chuàng)建主鍵自增表(sql語句實(shí)現(xiàn))及觸發(fā)器應(yīng)用
- Navicat Premium15安裝及破解教程詳解親測(cè)有效(附破解失敗解決方案)
- Navicat Premium 15 永久破解激活工具及安裝教程(親測(cè)可用)
- 使用Navicat Premium將SQLServer數(shù)據(jù)導(dǎo)出為sql格式
- Navicat Premium中Oracle創(chuàng)建主鍵自增的方法