« 新GetDDL, 生成建表语句 »
Tools » http://www.anysql.net/tools/new-getddl-script.html 2010-04-23有不少的生产库是跑在与办公网络隔离的安全网段中, 因此很多的客户端工具, 如Toad, SQL Deveoper或PL/SQL Developer是不能直接连接数据库的, 许多习惯于用这些图形工具的人, 面对没有图形工具的场合时, 就会手忙脚乱, 有点束手无策, Oracle也不提供足够方便的命令, 就还是按照常规的方法写一个工具来玩一下.
比如要查看SCOTT用户下EMP表的建表语句, 可以用如下命令.
D:\temp>getddl scott.emp
CREATE TABLE EMP (
EMPNO NUMBER(4) NOT NULL,
ENAME VARCHAR2(10) ,
JOB VARCHAR2(9) ,
MGR NUMBER(4) ,
HIREDATE DATE DEFAULT sysdate ,
SAL NUMBER(7,2) ,
COMM NUMBER(7,2) ,
DEPTNO NUMBER(2)
);CREATE UNIQUE INDEX PK_EMP ON EMP (EMPNO) ONLINE;
或者看一下某个索引的创建语法.
D:\temp>getddl SCOTT.PK_EMP
CREATE UNIQUE INDEX PK_EMP ON EMP (EMPNO) ONLINE;
或者看一下某个视图的创建语法.
D:\temp>getddl TAB
CREATE OR REPLACE VIEW TAB (
TNAME, TABTYPE, CLUSTERID)
AS
select o.name,
decode(o.type#, 2, ‘TABLE’, 3, ‘CLUSTER’,
4, ‘VIEW’, 5, ‘SYNONYM’), t.tab#
from sys.tab$ t, sys.obj$ o
where o.owner# = userenv(‘SCHEMAID’)
and o.type# >=2
and o.type# <=5
and o.linkname is null
and o.obj# = t.obj# (+);
现在提供下载的程序还是不完善的, 比如还不支持分区, 也不能查看触发器代码, 也不能生成SEQUENCE的创建语句, 本人并不保证现在提供的版本生成的建表语句是完全准确的, 因此不要用它来进行表结构的拷贝.
也会将DBMS_METADATA包装一下, 提供一个独立的工具.


期待这个工具!
博主能否告诉“AnySQL.net
SQLULDR2, DataCopy, DataSync, WebChart, OraMon, AUL/MyDUL, 性能优化及容量分析” 立体感很强,用的是什么字体,
这个你可以看一下, css文件中的设置啊, 我也是抄别人的.
最新进展:
1, 支持分区表, 但子分区还未能支持, 分区索引只支持LOCAL的.
2, 增加了UNIQUE, PARIMARY KEY约束的支持(不支持约束状态)
3, 增加了TRIGGER的支持(不支持触发器状态)
自已编码生成建表脚本还是比较麻烦的.
楼总,getddl是从数据字典表里提取实现的吧?
是的, 这个程序现在没有多少意义了, 还是直接从DBMS_METADATA获得比较好.