Oracle数据库中怎么实现Access数据库的ID(自动编号)的功能?
要用到什么函数??
Access数据库的ID(自动编号)所对应的是Oracle的Rownum,但怎么把Rownum的值放入我新生成的Oracle字段ID中呢?
希望大家给个答案啊!!!
很急!!!
要用到什么函数??
Access数据库的ID(自动编号)所对应的是Oracle的Rownum,但怎么把Rownum的值放入我新生成的Oracle字段ID中呢?
希望大家给个答案啊!!!
很急!!!
解决方案 »
- 请教一个utl_file的问题
- 急急急 大家帮帮忙 十分感谢
- ORACLE 连接 SYBASE 建立透明网关,问题请求援助
- 想问一个sqlldr的问题。文件第一行是字段名。load的时候怎么去掉。
- 817全文检索乱码问题(LINUX)
- 程序连接不上Oracle的问题
- oracle中设置字段的default值为什么不起作用
- 汉字问题
- SQL SERVER数据表通过kettle迁移到oracle12C的时候oracle日期类型出现乱码?号如何解决?
- ORACLE 如何获取现时间上一个月的数据并删除
- 大家帮忙看看这个存储过程改的对不对
- 小弟刚学ORACLE 在写一个飞常简单的存储过程都有一个错误大哥们进来给俺说说吧 小弟在这谢谢了
如果你只是加个编号,也可以
select a.*, rownum from a
但是要注意这个rownum不是对记录唯一的,而是对结果集编号而已
insert into tab(id) values (sequence.nextval);
怎么创建 sequencecreate sequence SEQ_1
minvalue 1
maxvalue 999999999999999999999999999
start with 1
increment by 1
cache 20;
START WITH 5
MAXVALUE 1E27
MINVALUE 0
NOCYCLE
NOCACHE
NOORDER;CREATE TABLE STUDENT_INFO
(
ID NUMBER NOT NULL,
NAME VARCHAR2(50 BYTE),
SEX VARCHAR2(10 BYTE),
AGE NUMBER,
BIRTHDAY DATE,
PHONE VARCHAR2(20 BYTE)
)
CREATE OR REPLACE TRIGGER TG_STUDENT_INFO
BEFORE INSERT ON STUDENT_INFO
REFERENCING OLD AS old NEW AS new
FOR EACH ROW
BEGIN
IF :new.ID IS NULL THEN
SELECT SEQ_STUDENT_ID.NEXTVAL
INTO :new.ID
FROM dual;
END IF;
END;
insert into t values(myseq.nextval);
两个步骤;
1.创建个SEQUENCE
2.创建个BEFORE INSERT的TRIGGERThanks
Hima
取nextval值就是自动增长了
create sequence myseq minvalue 1 maxvalue 999999 start with 1 increment by 1;create table t(id number);
insert into t values(myseq.nextval);
create sequence SEQ_1
minvalue 1(最小值)
maxvalue 999999999(最大值)
start with 1 (最哪个数开始)
increment by 1 (每次递增的数字)
cache 20;