没有合适的资源?快使用搜索试试~ 我知道了~
Oracle sequence 重置(失效恢复)
5星 · 超过95%的资源 需积分: 50 17 下载量 67 浏览量
2011-08-01
16:02:37
上传
评论 1
收藏 969B TXT 举报
温馨提示
试读
2页
在Oracle数据库移植过程中,sequence可能失效,本资源可使失效的sequence重新恢复作用
资源推荐
资源详情
资源评论
--Öؽ¨sequence.sql
CREATE OR REPLACE function func_getseq(in_table varchar2) return number
is
v_tmp varchar2(256);
v_col varchar2(128);
v_max number;
begin
SELECT a.COLUMN_NAME into v_col
FROM user_CONS_COLUMNS a,user_constraints B
WHERE a.CONSTRAINT_NAME =B.CONSTRAINT_NAME and b.CONSTRAINT_TYPE='P' and a.table_name=in_table;
v_tmp:='select max('||v_col||') from '|| in_table;
execute immediate v_tmp into v_max;
if(v_max is null )then
v_max:=0;
end if;
return v_max+1;
end;
/
declare
max1 number(18);
begin
for cur in(select B.TABLE_NAME,a.sequence_name from user_sequences a,user_constraints B
WHERE substr(a.SEQUENCE_NAME,5,100)=b.table_name and CONSTRAINT_TYPE='P')loop
SELECT func_getseq(cur.table_name) into max1 FROM DUAL;
execute immediate 'drop sequence '||cur.sequence_name;
execute immediate 'create sequence '||cur.sequence_name||' start with '||max1;
end loop;
CREATE OR REPLACE function func_getseq(in_table varchar2) return number
is
v_tmp varchar2(256);
v_col varchar2(128);
v_max number;
begin
SELECT a.COLUMN_NAME into v_col
FROM user_CONS_COLUMNS a,user_constraints B
WHERE a.CONSTRAINT_NAME =B.CONSTRAINT_NAME and b.CONSTRAINT_TYPE='P' and a.table_name=in_table;
v_tmp:='select max('||v_col||') from '|| in_table;
execute immediate v_tmp into v_max;
if(v_max is null )then
v_max:=0;
end if;
return v_max+1;
end;
/
declare
max1 number(18);
begin
for cur in(select B.TABLE_NAME,a.sequence_name from user_sequences a,user_constraints B
WHERE substr(a.SEQUENCE_NAME,5,100)=b.table_name and CONSTRAINT_TYPE='P')loop
SELECT func_getseq(cur.table_name) into max1 FROM DUAL;
execute immediate 'drop sequence '||cur.sequence_name;
execute immediate 'create sequence '||cur.sequence_name||' start with '||max1;
end loop;
资源评论
- yemengyi2014-04-11很不错,很实用。
- 码农的逻辑你不懂2012-08-22谢谢啦,不小心把物理库的数据删了,通过这个方法找回来了,感动中。
hsd322
- 粉丝: 1
- 资源: 9
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功