有一个PDM文件,数据库中也有这些表了,想比较PDM文件中的表字段名,字段类型和长度是否和数据库中的一样,有几百张表,要怎么才能提取PDM中的字段名,字段类型和长度,导出到文本文件或EXCEL,批量的有什么方法?用powerdesigner将PDM文件中的表导入oracle数据库,查询有哪些表可以查询出来,可是具体查询某一个表的字段,就报“表或视图不存在”是什么原因呢?

解决方案 »

  1.   

    在另一数据库(或者在同一数据库中新建一个用户),PDM连接,创建所有表。SELECT table_name,column_name,data_type,data_length FROM user_tab_columns   --第一个用户表、列、数据类型、长度
    minus
    SELECT table_name,column_name,data_type,data_length FROM user_tab_columns;  --第二个用户的。另外如果你还要比其他的,去user_tab_columns里去找。反过来再minus。如果是2库,创建database link。或者把结果导成文本,用UE比较2文本的不同!
      

  2.   

    pdm直接连数据库建表的时候,会在表名和字段名上加双引号。所以最好还是把pdm生成的sql放在一个文件里面,批量把双引号替换掉,再执行这个sql。
    你select的时候报表或视图不存在,则你需要在select的表名上加双引号,例如select * from "mytable"
      

  3.   

    至于pdm导出sql,你可以在"Database"菜单,选择"General Database",然后选择你要创建的那些表,就可以生成一个sql文件了。
      

  4.   

    pdm直接连数据库建表的时候,会在表名和字段名上加双引号。所以最好还是把pdm生成的sql放在一个文件里面,批量把双引号替换掉,再执行这个sql
      

  5.   

    生成sql语句后替换掉双引号即可。