ORACLE没有象SQL SERVER中一样的自增加字段,
要实现只能通过SEQUENCE来实现1.创建序列:
create sequence your_seq
nocycle
maxvalue 9999999999
start with 1;2.使用触发器实现自增:
create or replace trigger your_seq_tri
before insert on your_table1 for each row
declare
next_id number;
begin
select your_seq.nextval into next_id from dual;
:new.id := next_id;
end;
要实现只能通过SEQUENCE来实现1.创建序列:
create sequence your_seq
nocycle
maxvalue 9999999999
start with 1;2.使用触发器实现自增:
create or replace trigger your_seq_tri
before insert on your_table1 for each row
declare
next_id number;
begin
select your_seq.nextval into next_id from dual;
:new.id := next_id;
end;
解决方案 »
- 存储过程问题
- oralce临时表的疑问
- Oracle JOB的例子,把例子运行一遍,你会学到点东西哈!快乐就好!我刚边学边写的。
- 求大神帮忙,求SQL语句
- 自动备份
- 我的oracle数据库用户a有一个表t_a,用户b调用该表时要写select * from a.t_a 请问如何让用户b直接写select * from t_a来调用,a和b用户
- 如何停止定时运行的过程,急!
- 请教大虾 NESTED LOOP 和 HASH JOIN 的耗时区别为什么那么大
- 想请教Oracle Directory Server怎么用
- 求助:oracle tnsping延时时快时慢
- 深圳附近或者说广东省有什么地方可以考RedHat的认证?
- 急:事务提交,居然后面的执行成功,前面的没有执行。
MAXVALUE 1.0E28 MINVALUE 1 NOCYCLE
NOCACHE NOORDER;
/
CREATE OR REPLACE TRIGGER USERADD
BEFORE INSERT ON MEMBERRG
FOR EACH ROW
BEGIN
SELECT LPAD(USERID.NEXTVAL,4,'0') INTO :NEW.NUM FROM DUAL;
END;
/
-----------------------------------------------------------
INSERT INTO ora.tblname
VALUES(ora.seqid.NEXTVAL,'AAA');