[size=medium]如何从另一台机器上的数据库用户迁移出sequence,以下是我的做法,供参考:[/size]
DECLARE
V_sql varchar2(1000);
v_count number(3);
BEGIN
--dbms_output.enable(100000);
FOR SEQ IN (SELECT to_char(DBMS_METADATA.GET_DDL@aidm203('SEQUENCE',
B.SEQUENCE_NAME)) AS seqsql,
B.SEQUENCE_NAME as seqname
FROM USER_SEQUENCES@aidm203 B) LOOP
--dbms_output.put_line('drop sequence ' || seq.seqname || ';');
--dbms_output.put_line(replace(seq.seqsql, '"AIDMQUERY".', '') || ';');
V_sql := replace(seq.seqsql, '"AIDM203".', '');
select count(1)
into v_count
from USER_SEQUENCES
where SEQUENCE_NAME = seq.seqname;
if v_count >= 1 then
execute immediate 'drop sequence ' || seq.seqname;
end if;
execute immediate v_sql;
END LOOP;
END;