oracle 新建一张表后 如何给表做自增

createsequenceseq_newsIdincrementby1startwith1maxvalue999999999;我知道序列,困惑是seq_newsId好像... create sequence seq_newsId
increment by 1
start with 1
maxvalue 999999999;

我知道序列,困惑是seq_newsId 好像是序列名?还是字段名

假设现在有张表叫 table

如何给table表的id做序列来实现主键自增
展开
 我来答
情又独中
2017-07-21 · TA获得超过1032个赞
知道小有建树答主
回答量:1220
采纳率:100%
帮助的人:822万
展开全部
方法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;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式