powerdesign12 PDM导出带有字段说明的sql及逆向工程导入字段说明

一、从PDM导出带有字段说明的sql文件

  1、新建DBMS

  

     2、点击新建

  

     3、输入新建DBMS的名称,并选择拷贝源为Miscrosoft SQL Server2005。

  4、点击保存后弹出如下窗口

  5、选择左侧树节点 Script-->Objects-->Column-->ColumnComment,设置其值为

EXEC sys.sp_addextendedproperty
@name=N'MS_Description', @value=N'%Name%',@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'%TABLE%', @level2type=N'column', @level2name=N'%COLUMN%'

说明:该字段是为了导出符合Sqlserver2005字段说明的模板,%%为变量,不可修改,其它可视情况变更。

  6、选择左侧树节点 Script-->Objects-->Table-->TableComment,去掉其值内容。

说明:因为我的例子中不需要表说明。

  7、点击确定,返回上层并关闭设置DBMS窗口。

  8、新建PDM ,选择DBMS为刚才新建的SQLSERVER2005[EXT].

  9、新建一张表,并定义字段说明。

  10、选择生成数据库,就得到sql脚本了。

  

  11、把这段脚本放在SQLSERVER2005中执行就能得到带有字段说明的表了。

二、逆向工程导入字段说明

  1、新建一个PDM,选择DBMS为刚才定义好的SQLSERVER2005[EXT]。

  2、选择数据库-->数据库逆向工程

  3、这里选择刚才生成的sql脚本文件。

  4、点击确定就可得到带有字段说明的PDM了。

说明:

其实原理很简单,只要保证sqlserver2005导出的脚本和PD导出脚本的模板一致即可。

附注:

  PD导出的sql:

    

/*==============================================================*/
/* DBMS name:      SQLSERVER2005[EXT]                           */
/* Created on:     2010-9-15 17:33:54                           */
/*==============================================================*/


if exists (select 1
            from  sysobjects
           where  id = object_id('Table_1')
            and   type = 'U')
   drop table Table_1
go

/*==============================================================*/
/* Table: Table_1                                               */
/*==============================================================*/
create table Table_1 (
   Column_1             int                  null,
   Column_2             int                  null
)
go

EXEC sys.sp_addextendedproperty
@name=N'MS_Description', @value=N'列_1',@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Table_1', @level2type=N'column', @level2name=N'Column_1'
go

EXEC sys.sp_addextendedproperty
@name=N'MS_Description', @value=N'列_2',@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Table_1', @level2type=N'column', @level2name=N'Column_2'
go

 

SQLSERVER2005导出的SQL:

  

CREATE TABLE [dbo].[Table_1](
 [Column_1] [int] NULL,
 [Column_2] [int] NULL
) ON [PRIMARY]

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'列_1' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Table_1', @level2type=N'COLUMN', @level2name=N'Column_1'

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'列_2' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Table_1', @level2type=N'COLUMN', @level2name=N'Column_2'

posted on 2010-09-15 17:46  Raymus  阅读(1965)  评论(0编辑  收藏  举报

导航