oracle 如何导出 数据库的创建语句

咳嗽哥 2012-08-16 02:20:18
能否把一个数据库 的 创建表,视图,触发器== 对象的创建语句生成为脚本文件
...全文
501 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
linwaterbin 2012-08-18
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
能否把一个数据库 的 创建表,视图,触发器== 对象的创建语句生成为脚本文件
[/Quote]
可以哦。用dbms_metadata.get_ddl这个过程包
比如,你要导出hr模式下的t表:

spool hw_2x_vc.sql
select dbms_metadata.get_ddl('TABLE','T','HR') from dual;
spool off

这样就可以在hw_2x_vc.sql里面找到你的脚本了。视图和触发器也是一个道理的。
fw0124 2012-08-18
  • 打赏
  • 举报
回复
写个存储过程,
遍历user_tables, user_triggers, user_views视图;
分别取出table_name, trigger_name, view_name;
然后分别调用
dbms_metadata.get_ddl('TABLE',<table_name>)
dbms_metadata.get_ddl('TRIGGER',<trigger_name>)
dbms_metadata.get_ddl('VIEW',<view_name)
dyf0130 2012-08-17
  • 打赏
  • 举报
回复
用dbac呀
pengpeng409 2012-08-17
  • 打赏
  • 举报
回复
好像plsql导出对象只能导出表的信息啊
xuyongjun5124020 2012-08-16
  • 打赏
  • 举报
回复
获得数据库对象的创建语句(以数据表为例):
sql>set long 100000;
sql>set serveroutput on;
sql>select dbms_metadata.get_ddl('TABLE',TABLE_NAME,USER_NAME) from dual;

说明:dbms_metadata.get_ddl()函数传入三个参数:第一个参数表示对象类型(表,视力..);第二个参数系表的名称;第三个参数为数据表属于哪个用户之下。
咳嗽哥 2012-08-16
  • 打赏
  • 举报
回复
使用PLSQL,导出用户对象!

这个导出 的 不是完整的 可直接 执行的SQL 语句
秋雨飘落 2012-08-16
  • 打赏
  • 举报
回复
使用PLSQL,导出用户对象!

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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