To restart the sequence at a different number, you must drop and re-create it把序列删除重新建立
解决方案 »
- ASP.NET调用Oracle存储过程问题
- form奇怪的变量问题????
- hibernate 查询语句
- 我有一个表,这个表里的两个字段都是检修周期,检修时间,检修周期的单位是D,M,Y,表示天,月,年,如何用decode进行两个字段相加
- RAID 5问题
- select 小技巧问题
- ps/sql developer怎样和oracle连接啊
- 建立pfile参数文件的怪问题
- !!!!!!PL/SQL Developer跟踪Oracle9i SQL 的简单问题!!!!!!
- 求各位大大推荐学习oracle数据库的书。
- sql能解决这种问题吗?二维表转交叉表
- Oralce中如何使用UTL_SMTP包进行mail群发
alter sequence sequence_name INCREMENT BY 当前最大数-1;
select sequence_name from dual;
alter sequence sequence_name INCREMENT BY 1;
select a.nextval from 表查看当前序号
select a.currval from dual
//重置sequence值
declare
n number(10);
tsql varchar2(100);
begin
select my_seg.nextval into n from dual;
n:=-(n-1);
tsql:='alter sequence my_seg increment by'|| n;
execute immediate tsql;
select my_seg.nextval into n from dual;
tsql:='alter sequence my_seg increment by 1';
execute immediate tsql;
end;
/
首先以DBA的身份登录,
察看一下 select * from sys.user_sequence
如果你想更新
a. select obj# from sys.obj$ where name='sequence_name'
b. select * from sys.seq$ where obj#=/*从a中得到的结果.*/
c. update sys.seq$ set last_number=... where obj#=/*从a中得到的结果.*/
应该可以解决你的问题.
首先以DBA的身份登录,
察看一下 select * from sys.user_sequence
如果你想更新
a. select obj# from sys.obj$ where name='sequence_name'
b. select * from sys.seq$ where obj#=/*从a中得到的结果.*/
c. update sys.seq$ set last_number=... where obj#=/*从a中得到的结果.*/
应该可以解决你的问题.