oracle中数据库的主键自增不能直接修改标示来定义吗?必须要用触发器才能实现?
3个回答
展开全部
当然可以自定义了 sequence就可以啊
追问
还是没试出来,能具体说明下嘛?
追答
create or replace sequence 序列名称
start with 数值 --自动增长列的起点
increment by 数值 --增幅 也就是每次增长多少
maxvalue 数值 --最大到什么数值
minvalue 数值 --最小什么数值
cycle / nocycle --是否循环 也就是说到底是到了最大值再回到起点重新循环,还是不循环
cache --缓存
在oracle中你可以使用如下的语句调用查看
select 序列名.nextval from dual;
展开全部
序列号念败:仔拿颤
create seqence seq_a;
触发敏瞎器:
CREATE OR REPLACE TRIGGER TRI_t_a
BEFORE INSERT ON t_a FOR EACH ROW
DECLARE
-- LOCAL VARIABLES HERE
BEGIN
IF :NEW.id IS NULL THEN
SELECT SEQ_a.NEXTVAL INTO :NEW.id FROM DUAL;
END IF;
END TRI_t_a;
create seqence seq_a;
触发敏瞎器:
CREATE OR REPLACE TRIGGER TRI_t_a
BEFORE INSERT ON t_a FOR EACH ROW
DECLARE
-- LOCAL VARIABLES HERE
BEGIN
IF :NEW.id IS NULL THEN
SELECT SEQ_a.NEXTVAL INTO :NEW.id FROM DUAL;
END IF;
END TRI_t_a;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
oracle 实现主键自增可以用序列(sequences)。 可以自定义
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询