create sequence seq_id
minvalue 1
start with 1
increment by 1
nocache;
-- 假设ID 为自增长字段
CREATE or replace trigger trg_insert_id
before insert on tablename
for each row
BEGIN
select seq_ID.nextval into :new.ID from dual;
END;
/
解决方案 »
- grid control配置出错
- oracl客户端登陆老提示无监听服务
- 在ORACLE 中数据变化时,用什么向外程序发消息通知?
- 求数据库设计实例
- 小弟最近在做Oracle817开发,大家帮帮忙吧!!答案正确马上给分,急急急........
- 关于ORACLE论坛讨论区和对应主题的分类和统计
- 谁有quest central或者是sql navigator的中文使用手册或帮助?
- 这个带参数的存储过程怎样写?
- 登陆服务器问题!
- 请问Oracle中,2个日期字段相减怎样得到符合正常时间的数据????高手帮忙!!很苦闷!
- 客户端访问oracle速度问题
- 关于这个连表的查询的sql语句怎么写??紧急!!!
1)删除SEQUENCE
2)重建
----------------------------------------------
无法重置序号的初始值
必须是8i以上的版本才支持。
否则只能重新建立。
必须是8i以上的版本才支持。
否则只能重新建立。
-------------------------------------------我用的是816,难道必须要9i,10g才可以么?
alter sequence ab start with 1
*
ERROR 位于第 1 行:
ORA-02283: 无法改变起始序号
SQL>我的是oracle8.1.7好象也不成的~
可以先select一下nextval,假如为888888,现在要重置为1,假设你原来的increment也是1。
alter sequence seq_name increment by -888887;
然后select seq_name.nextval from dual;
就把currval重置为1了。
这种方法的前提是在操作时不能有其他人在引用该序列。