多语言展示
当前在线:620今日阅读:86今日分享:14

如何通过SQL语句导出 Oracle 数据库的所有序列

Oracle中自动生成ID时需要借助一个序列(Sequence)来完成,但在进行数据迁移时,部分工具不支持导出序列定义(比如 DbVisualizer),本篇经验就分享一下如何通过 SQL 语句导出一个 schema 下的所有序列。
工具/原料
1

Oracle数据库

2

Oracle数据库客户端软件

方法/步骤
1

方法一:查询 dba_sequences 表获取序列信息,命令如下:select * from dba_sequences where sequence_owner = 'schema名称';注意:schema名称需要大写!

2

通过组合 dba_sequences 表中各个字段,构建创建序列的语句,相关 SQL 语句请参考图示。

3

执行上述语句,获取指定 schema 下所有序列的创建语句。将语句导出后,即可完成序列的迁移动作。

4

方法二:直接从 user_objects 表中获取当前schema下所有序列的创建信息,命令格式请参考图示。

5

通过 dbms_lob.substr(...) 函数将上述获取的 clob 格式结果转换为可读字符串,具体命令请参考图示。

注意事项

纸上得来终觉浅,绝知此事要躬行,实践出真知。

推荐信息