shell脚本 导出sequence,如何把执行结果导成sql文件

applegree 2013-05-03 11:22:12
参照网上的例子,spool生成下面的语句

select 'create sequence username.'|| SEQUENCE_NAME || ' minvalue '||MIN_VALUE||' maxvalue '||MAX_VALUE||' start with
'||LAST_NUMBER||' increment by '||INCREMENT_BY||' cache '||CACHE_SIZE||' ;' from dba_sequences
where SEQUENCE_OWNER='username';


生成类似下面的结果

create sequence HIBERNATE_SEQUENCE minvalue 1 maxvalue 999999999999999999999999999 start with 1 increment by 1 cache 20 ;
create sequence MIAGENTVERSION_VERSION_SEQ minvalue 1 maxvalue 999999999999999999999999 start with 121 increment by 1 cache 20 ;


如何再把上面的执行结果再导成sql文件
...全文
247 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
applegree 2013-05-03
  • 打赏
  • 举报
回复
2.你所说的 再导成sql文件,这个文件是要啥内容啊?[/quote] 就是把执行结果导成sql文,我需要这个结果对宁外一台数据库更新sequence


 create sequence HIBERNATE_SEQUENCE minvalue  1  maxvalue  999999999999999999999999999  start with  1  increment by  1  cache  20 ;      create sequence MIAGENTVERSION_VERSION_SEQ minvalue  1  maxvalue  999999999999999999999999  start 
utl_file我还不知道是什么,先查查看
u010412956 2013-05-03
  • 打赏
  • 举报
回复
或者你可以直接用utl_file写入文件:
--1.用sys用户赋予当前用户相关权限
Grant create  any directory to HH7YX;
GRANT WRITE,READ ON DIRECTORY dir_test TO HH7YX;
GRANT EXECUTE ON utl_file TO HH7YX;

--2.创建directory
create or replace directory dir_test as 'D:\';

--3.utl 写入文件
declare
  out_file utl_file.file_type; 
begin

  out_file := utl_file.fopen('DIR_TEST', 'llh.sql', 'W');                    
  for i in (select dbms_metadata.get_ddl('SEQUENCE', t.sequence_name) seq
              from dba_sequences t
             where t.sequence_owner = 'HH7YX') loop
    utl_file.put_line(out_file, i.seq||';'); 
  end loop;
  utl_file.fflush(out_file);
  utl_file.fclose(out_file); --关闭文件流
end;
u010412956 2013-05-03
  • 打赏
  • 举报
回复
1.首先,查对象的创建脚本那需要这么复杂喽。。直接用下面的sql即可
select dbms_metadata.get_ddl('SEQUENCE', t.sequence_name)
  from dba_sequences t
 where t.sequence_owner = 'HH7YX';
2.你所说的 再导成sql文件,这个文件是要啥内容啊?
  • 打赏
  • 举报
回复
你要这个结果对另外一台数据库更新sequence ,复制脚本不就不就可以了么。 或者你导出成CSV、TSV文件 不就 可以得到脚本了么

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧