oracle 新建一张表后 如何给表做自增
createsequenceseq_newsIdincrementby1startwith1maxvalue999999999;我知道序列,困惑是seq_newsId好像...
create sequence seq_newsId
increment by 1
start with 1
maxvalue 999999999;
我知道序列,困惑是seq_newsId 好像是序列名?还是字段名
假设现在有张表叫 table
如何给table表的id做序列来实现主键自增 展开
increment by 1
start with 1
maxvalue 999999999;
我知道序列,困惑是seq_newsId 好像是序列名?还是字段名
假设现在有张表叫 table
如何给table表的id做序列来实现主键自增 展开
展开全部
方法1 每次insert时调用seq_newsid
例如
insert into table(id,name) values(seq_newsid.nextval,'赵')
方法2 在表上为insert创建触发器
然后每次insert调用 序列 seq_newsid 生成id,实现自增长。
CREATE OR REPLACE TRIGGER STUDENT_INS_TRG
BEFORE INSERT ON TABLENAME
FOR EACH ROW WHEN(NEW.ID IS NULL)
BEGIN
SELECT seq_newsid .NEXTVAL INTO :NEW.ID FROM DUAL;
END;
例如
insert into table(id,name) values(seq_newsid.nextval,'赵')
方法2 在表上为insert创建触发器
然后每次insert调用 序列 seq_newsid 生成id,实现自增长。
CREATE OR REPLACE TRIGGER STUDENT_INS_TRG
BEFORE INSERT ON TABLENAME
FOR EACH ROW WHEN(NEW.ID IS NULL)
BEGIN
SELECT seq_newsid .NEXTVAL INTO :NEW.ID FROM DUAL;
END;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询