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;
解决方案 »
- oracle function 转sql server function(设置默认值)问题?
- form的*.MMB如何传全局变量给report
- 如何重组表空间
- powerdesigner9.5 拷贝表后,表名后边都加了2,怎样不出现这中情况.
- 用透明网关连接sqlserver怎么不通
- dmp文件导入的时候出错,字符集的问题。。
- 急求,如何将 2007-8-14 12:35:09 这种格式转成 2007-8-14
- ORACLE内一个select语句,请高手解释一下
- 一个关于oracle8.1.6的worksheet的问题
- 使用sql*loader后怎样对导入的数据表进行查看
- 深圳附近或者说广东省有什么地方可以考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');