189 8069 5689

oracle自增怎么做,Oracle 自增

oracle中如何实现某一字段自增

-----oracle 指定字段 自增 ,1.要先创建一个序列 2. 之后创建一个触发器

创新互联建站成立于2013年,是专业互联网技术服务公司,拥有项目网站设计、做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元睢县做网站,已为上家服务,为睢县各地企业和个人服务,联系电话:028-86922220

--- 序列 (序列与触发器实现t_sys_organize表中F_ID字段的自动增长)

create sequence t_sys_organize_F_ID_SEQUENCE

minvalue 100000

maxvalue 99999999

start with 100000

increment by 1

nocache;

--触发器 (序列与触发器实现t_sys_organize表中F_ID字段的自动增长)

CREATE OR REPLACE TRIGGER t_sys_organize_F_ID_TRIGGER BEFORE INSERT ON t_sys_organize FOR EACH ROW WHEN(NEW.F_ID IS NULL)

BEGIN

SELECT t_sys_organize_F_ID_SEQUENCE.NEXTVAL INTO:NEW.F_ID FROM dual;

END;

oracle自增长怎么做?

首先,Oracle中没有像MySQL那样的id自增长功能

如果要用Oracle这么做的话首先要先建一个表,如:

CREATE

TABLE

test(

ID

Number(4)

NOT

NULL

PRIMARY

KEY,

NAME

VARCHAR(25),

PHONE

VARCHAR(10),

ADDRESS

VARCHAR(50));

然后,你需要一个自定义的sequence:

CREATE

SEQUENCE

emp_sequence

INCREMENT

BY

1

--

每次加几个

START

WITH

1

--

从1开始计数

NOMAXVALUE

--

不设置最大值

NOCYCLE

--

一直累加,不循环

NOCACHE

--

不建缓冲区

你只有了表和序列还不够,还需要一个触发器来执行它:

CREATE

TRIGGER

"触发器名称"

BEFORE

INSERT

ON

example

FOR

EACH

ROW

WHEN

(new.id

is

null)

begin

select

emp_sequence.nextval

into:

new.id

from

dual;

end;

这时你再向test表中插数据就可以不用管id了

Oracle怎么建自动增长列

oracle:

oracle没有自增长序列,因此可以用以下方法来实现

1.建立表格:

createtabletable1

(

cidnumber(8)notnull,

othersvarchar2(20)

);

2.建立从1开始的序列:

createsequenceemp_sequence

incrementby1--每次加几个

startwith1--从1开始计数

nomaxvalue--不设置最大值

nocycle--一直累加,不循环

nocache--不建缓冲区3.建立触发器:

createorreplacetriggermytgr

beforeinsertontable1foreachrow

begin

selectmytgr.nextvalinto:new.cidfromdual;

end;

mysql:

createtabletbname(a_idunsignedintprimarykeyauto_incrementnotnull,

a_titlevarchar(32),

a_contenttext);


本文标题:oracle自增怎么做,Oracle 自增
本文网址:http://cdxtjz.cn/article/hdijcg.html

其他资讯