从整个Oracle DB获取DDL的有效方法
发布时间:2021-03-31 01:21:04 所属栏目:百科 来源:网络整理
导读:目前,Oracle 11.1数据库中大约有30个表. 有没有办法用一个命令生成所有ddl? (或者一些命令?) 编辑: 根据下面的建议,我试过: SELECT dbms_metadata.get_ddl( 'TABLE',table_name,owner ) FROM all_tables; 得到了: ORA-31603: object "HS_PARTITION_CO
目前,Oracle 11.1数据库中大约有30个表. 有没有办法用一个命令生成所有ddl? (或者一些命令?) 编辑: SELECT dbms_metadata.get_ddl( 'TABLE',table_name,owner ) FROM all_tables; 得到了: ORA-31603: object "HS_PARTITION_COL_NAME" of type TABLE not found in schema "SYS" ORA-06512: at "SYS.DBMS_SYS_ERROR",line 105 ORA-06512: at "SYS.DBMS_METADATA",line 3241 ORA-06512: at "SYS.DBMS_METADATA",line 4812 ORA-06512: at line 1 31603. 00000 - "object "%s" of type %s not found in schema "%s"" *Cause: The specified object was not found in the database. *Action: Correct the object specification and try the call again. 很明显,我不了解dbms_metadata有一些非常基本的东西. 解决方法这对我有用:SELECT dbms_metadata.get_ddl('TABLE',table_name) FROM user_tables; 如果这是错误的,请低估我.我对Oracle知之甚少,所以我不明白为什么没有一个答案只是提供了一个有效的查询. (编辑:成都站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐