создать схему базы данных и таблиц (ddl) в Oracle pl-sql - PullRequest
1 голос
/ 27 октября 2009

У кого-нибудь есть оператор PL-SQL, который я могу использовать для создания схемы базы данных и таблиц для конкретной базы данных в Oracle 10g? Мне нужна схема в файле .sql и, если возможно, она совместима с реализацией ANSI-92/99 sql, поэтому я могу использовать сгенерированный .sql непосредственно на сервере sql 2005.

Уже слышал об exp / imp, но, похоже, сгенерированный файл дампа, что мне нужно, просто простой ddl на .sql файле.

Спасибо

Ответы [ 4 ]

3 голосов
/ 27 октября 2009

Вы можете попробовать:

select dbms_metadata.get_ddl('TABLE',table_name,owner)
from dba_tables where owner='schema name';

Возвращает long, поэтому вы можете поиграть с длинным буфером.

Подробнее о dbms_metadata здесь: http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_metada.htm

2 голосов
/ 27 октября 2009

Если вам просто нужно выгрузить свою схему, этот бесплатный пакет делает очень хорошую работу. Мы используем его в ежедневном производстве.

http://sourceforge.net/projects/cx-oracletools

Если вам нужно конвертировать из Oracle в SQL Server, это программное обеспечение может работать лучше. Мы использовали его для преобразования между Oracle, MySql и Postgreqsql.

http://www.spectralcore.com/fullconvert

1 голос
/ 10 ноября 2009

Приветствую, я бы рекомендовал использовать Oracle SQL Developer Data Modeler , поскольку он от Oracle, он может считывать информацию DDL непосредственно из словаря данных. Он создает ERD, а затем вы можете создать DDL для SQL Server 2000/2005, некоторых версий DB2 и Oracle 9i / 10g / 11g.

1 голос
/ 28 октября 2009

Я написал oraddlscript , который вызывает dbms_metadata.get_ddl (ответ Pop) для каждого объекта базы данных, принадлежащего пользователю, и записывает DDL в файл.

Обновление: Ответ на комментарий

...