数据库有大概300多个表
我用的erwin3.52建模(习惯了,一直这个),因为之前一直没有在ERwin中写comment,我现在想把logical里面的中文列名自动的添加到Comment里面,请问下有什么解决方法吗?或者高版本的erwin能解决吗? 是不是必须得一个一个的添加comment?
请各位大侠指点! 谢谢!

解决方案 »

  1.   

    谢顶
    Erwin高版本有这个功能吗?
      

  2.   

    Erwin能導出comment不,能的話導出後,自己寫個程序處理一下再導入oracle吧
      

  3.   

    记得低版本好像不支持COMMENT,高级的应该可以吧,你可以在ORACLE添加备注,然后逆向工程,可以得到COMMENT
      

  4.   

    谢谢nGX20080110提醒!
    此问题解决了:--1.通过erwin的Generate Reports中的Entity Reports导出Entity Name/Table Name为Entity_Name_Table_Name.csv文件
    --2.创建临时表
    create table t_tab_col_comment_rebuild
           (tab_name_log  varchar2(32),
            col_name_log  varchar2(32),
            tab_name      varchar2(32),
            col_name      varchar2(32),
            col_datatype  varchar2(32)
            );
    --3.把 Entity_Name_Table_Name.csv导入到表t_tab_col_comment_rebuild中(可以通过PL/SQL Developer的Text Importer工具导入)
    --4.根据中t_tab_col_comment_rebuild的数据产生comment设置sql文件
    set echo off;           --是否显示执行的命令内容  
    set feedback off;       --是否显示 *   rows   selected   
    set heading off;        --是否显示字段的名称
    set verify off;         --是否显示替代变量被替代前后的语句。fil
    set trimspool off;      --去字段空格
    set pagesize 1000;      --页面大小
    set linesize 200;       --linesize设定尽量根据需要来设定,大了生成的文件也大
    set termout off;      --显示脚本中的命令的执行结果,缺省为on
    set trimout on;      --去除标准输出每行的拖尾空格,缺省为off
    set trimspool on;     --去除重定向(spool)输出每行的拖尾空格,缺省为off
    define tab_file= c:\tab_comment.sql;
    define col_file= c:\col_comment.sql;
    --4.1添加表名的comment
    spool &tab_file;
    select 'COMMENT ON TABLE '||tab_name||' IS '''||tab_name_log||'''; ' as v_sql 
      from (select tab_name,tab_name_log
           from t_tab_col_comment_rebuild group by tab_name,tab_name_log
           )
      where tab_name in (select table_name from user_tables)
      order by tab_name;
    spool off;
    --执行脚本
    @&tab_file;
    --4.1添加列名的comment
    spool &col_file;
    select 'COMMENT ON COLUMN '||tab_name||'.'||col_name||' IS '''||col_name_log||'''; ' as v_sql 
      from t_tab_col_comment_rebuild 
      where tab_name in (select table_name from user_tables)
      order by tab_name,col_name;
    spool off;
    --执行脚本
    @&col_file;
      

  5.   

    可以通过更好的完善,从oracle的字典表中取列名的关联表名写到comment中,以上是解决思路
    谢谢各位顶贴的朋友!