加一个sequence
create sequence xxx;
然后对那个表增加一列,建立触发器插入xxx.nextval
设该列为主键
create sequence xxx;
然后对那个表增加一列,建立触发器插入xxx.nextval
设该列为主键
解决方案 »
- oracle刚学。。
- 如何获取指定时间范围内的天数呢?
- c#简易计算器的代码
- 我们应该怎样安装Oracle数据库?
- 以前用用好好的,为什么突然出现 maximum number of sessions exceeded
- 急救:sql2000的存储过程怎么转化到Oracle?
- 问个最简单的问题,赶时间,临时抱佛脚装上了toad...
- 在线等候,急求oracle9i for win2kxp 下载地址
- 字符集的问题
- 我用odbc在access中建立连接,我在access见面里可以修改数据库中的记录,但是为何不能新增记录进入数据库中?谢谢,急~~
- 数据库每隔十天死一次,请大家帮忙分析问题!
- 求季度统计的SQL语句。
1.创建sequence就可以
create sequence seq_name
minvalue 1
maxvalue 999999999999999999
start with 1
increment by 1
cache 20;
可以直接在插入时调用seq_name.nextval;
如insert into table_name(proid) values(seq_name.nextval);2.也可以创建触发器(同时要创建sequence):
create or replace trigger trg_name
before insert on table_name
for each row
begin
select seq_name.nextval into :new.proid from dual;
end;
/
如:
SQL> select seq_name.nextval from dual; NEXTVAL
---------
61SQL> select seq_name.nextval from dual; NEXTVAL
---------
62
create table DEPT
(
DEPTNO NUMBER(2) not null,
DNAME VARCHAR2(14),
LOC VARCHAR2(13)
) 2、建立一个sequence
create sequence seq_dept
minvalue 1
start with 1
increment by 1
nocache; 3、为dept表建立一个insert trigger
create or replace trigger insert_dept
before insert on dept
for each row
declare
-- local variables here
begin
select seq_dept.nextval into :new.deptno from dual;
end insert_dept; 4、用insert语句测试 insert into dept(dname,loc) values('aaaaaa','bbbbb'); 用select * from dept察看结果