类似SQLServer自增计算列如下,给一个表增加一列并这定位自增长
ALTER TABLE XSHXMX
ADD XSHXMX_DJBH INT IDENTITY(1,1) NOT NULL;把这个翻译成oracle怎么写?
除了建一个序列,写一个触发器
有没有简单的写法?
ALTER TABLE XSHXMX
ADD XSHXMX_DJBH INT IDENTITY(1,1) NOT NULL;把这个翻译成oracle怎么写?
除了建一个序列,写一个触发器
有没有简单的写法?
调试欢乐多
在插入数据时调用seqences_name.next 就可以了
--oracle中使用序列实现字段自增
create sequence seq_incre
minvalue 1
maxvalue 999
start with 1
increment by 1
nocycle
/
--可以通过触发器来实现添加数据时字段自增
create or replace trigger tri_incre
before insert on tb_name
for each row
begin
select seq_incre.nextval into :new.tb_incr_col_name from dual;
end tri_incre;
/
insert into table_name(col_name,...)
values(seq_incre.nextval,...);
--创建SEQUENCE用于实现AUTO_id字段自增
DROP SEQUENCE Candidates_info_seq;
CREATE SEQUENCE Candidates_info_seq
INCREMENT BY 1
START WITH 1
MINVALUE 0
NOMAXVALUE
NOCACHE--创建触发器用于实现AUTO_id字段自增
CREATE OR REPLACE TRIGGER Candidates_info_trig
BEFORE INSERT ON Candidates_info
FOR EACH ROW
BEGIN
SELECT Candidates_info_seq.NEXTVAL INTO :NEW.Auto_id FROM dual;
END;
只能建sequences,取sequences.nextval