首页 > 数据库 > Oracle > 正文

导出oracle数据库对象--同义词,系列,视图

2024-08-29 13:37:18
字体:
来源:转载
供稿:网友

  脚本可分两部分:
  
  同义词
  
  1:synonym.cmd:
  
  sqlplus dxsq/teledoone@jnnew @synonym.sql
  
  2.synonym.sql:
  
  create table tmp_user_synonym as select 'create synonym 'synonym_namechr(13)'for'chr(13)TABLE_OWNER'.'TABLE_NAMEchr(13)'/' text from user_synonyms;
  set heading off feedback off termout off
  set pagesize 0
  set linesize 100
  set long 100000
  col tt format a
  spool d:/bat/synonym.log;
  select text tt from tmp_user_synonym;
  spool off;
  drop table tmp_user_synonym;
  exit;
  
  大家可以以一反三,系列的写法可以参考下面:
  
  drop table tmp_user_sequence;
  create table tmp_user_sequence (text varchar2(4000));
  declare
  begin
  for tt in (select * from user_sequences) loop
  insert into tmp_user_sequence values('PRompt');
  insert into tmp_user_sequence values('prompt create sequence 'tt.SEQUENCE_NAME);
  insert into tmp_user_sequence values('prompt');
  insert into tmp_user_sequence values('create sequence' ' ' tt.SEQUENCE_NAME);
  insert into tmp_user_sequence values('minvalue' ' ' tt.MIN_VALUE );
  insert into tmp_user_sequence values('MAXVALUE' ' ' tt.MAX_VALUE);
  insert into tmp_user_sequence values('start with ' ' 'tt.LAST_NUMBER);
  insert into tmp_user_sequence values('increment by' ' ' tt.INCREMENT_BY);
  insert into tmp_user_sequence values('cache' ' ' to_char(tt.CACHE_SIZE));
  if tt.CYCLE_FLAG='Y' then
  insert into tmp_user_sequence values('cycle');
  end if;
  if tt.ORDER_FLAG='Y' then
  insert into tmp_user_sequence values('order');
  end if;
  insert into tmp_user_sequence values('/');
  insert into tmp_user_sequence values('');
  end loop;
  commit;
  end;
  /
  set heading off feedback off termout off;
  column text format A100;
  spool d:/bat/user_sequences.log
  select text from tmp_user_sequence;
  spool off;
  exit;

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表