看看这个有用没:
select c.name,a.name ,b.name ,a.length, a.isnullable from syscolumns a, systypes b,sysobjects c where a.xusertype=b.xusertype and a.id = c.id and c.type='U' 

解决方案 »

  1.   

    在PowerDisigner8中有一个逆向工程。新建一个pdm,在database菜单项中选revers engineer database,在弹出的窗口中选择 Using a ODBC data source,并选择一个ODBC数据源,如果没有,你可以新建一个。然后点确定,在新出现的窗口中列出了你的数据库中所有的对象,选择你想要的对象,点OK即可生成pdm。
      

  2.   

    我一直都是用pd做系统设计,用pb做程序,如果你也喜欢pd和pb的话,今后我们可以多交流。
    mail:[email protected]
      

  3.   

    zzutligang(小鸟) :我从94年开始用pb,设计用erwin,但现在我作DBA,不用pb了,pd是刚刚学。反向工程里面只是标准属性,没有扩展属性。
     sky_blue(老衲) :不行啊,扩展属性是在syspropties表中在线等待
      

  4.   

    to tjan(安安) :"逆向工程里面只是标准属性,没有扩展属性",是什么意思,是不是你想从数据库中将对象的扩展属性也导出来,你要对象的那些属性呢?一般情况下,对于一个表来说,需要的属性无非是主键,外键,候选键,索引,检查等,这些都有呀,你还需要什么扩展属性呢。还有,如果数据库当初不是用pd建的,那么肯定有些属性是不能逆向出来的,但我认为以上这些对于数据库的逆向工程来说应该足够了。
      

  5.   

    我想要的是表的描述以及其中列的描述,因为原来的同事都是直接修改数据库,而没有同步修改pd文档,所以我想把SQL 中的列描述导出来,形成文档,那么在作新的项目的时候,文档就全了。
      

  6.   

    SQLSERVER2000中,扩展属性是用它自己的命令实现的:
    exec sp_addextendedproperty N'MS_Description', N'hello1',...
    go
    并且在用PD生成SQLSERVER2000脚本的时候,不能在脚本中生成注释comment,因此你的要求是不能直接实现的,可以变相处理:
    1、用SQLSERVER2000生成脚本(选中包括扩展属性)
    2、写程序读取N'MS_Description', N'hello1'就是关于表和列的描述,自己把这些读出的内容加到你的PD文档中就可以了。
      

  7.   

    to  honsire(honsire) :我也想让程序员这么作,但工作量太大了,有500个表,所以,只能从PD入手了,通过PD的DBMS属性是应该可以实现的,现在已经有些眉目了,我正在努力呢,谢谢你的参与。