如何在oracle表中添加一列自动增长的数据?

如何在oracle表中添加一列自动增长的数据?,第1张

oracle中没有自动增长,只有序列号

添加一条记录和sqlserver一样

语法:insert into table(列,列,列) values(value,value,value)

如果有个自动增长列

可以用这种方法,首先创建一个序列号SEQ_Test

然后insert into table(ID,列,列) values(SEQ_Test.nextval,value,value)

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)

应该只有触发器的办法:

比如表名:tab,主键为:id

1. 增加一个序列号: create sequence seq_tab

2. 增加一个触发器,如果是insert,则取序列号值,赋予主键列

CREATE OR REPLACE TRIGGER TRI_tab

BEFORE INSERT ON tab FOR EACH ROW

DECLARE

-- LOCAL VARIABLES HERE

BEGIN

IF :NEW.id IS NULL THEN

SELECT SEQ_tab.NEXTVAL INTO :NEW.id FROM DUAL

END IF

END TRI_tab


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11555644.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存