PowerDesigner 12 根据名称生成注释(续)


前言
    在上篇文章结尾的时候有说要研究实现【名称+备注来生成数据库注释】,呵呵比较顺利的是写完那篇文章不久就把这个给鼓捣出来了,关于它里面那些怪怪的语法没有找到合适的资料,但是明白了一点,在里面直接写SQL语句还是可以的,所以得以顺利达到目的。关于PD配置及生成这里就不重复讲解了,下面进入正题。

正文
    1.    修改当前DBMS(Script\Objects\Column\ColumnComment)位置的值如下:

DECLARE @des VARCHAR(255)
SET @des = CASE N'%COMMENT%'
         
WHEN N'%Name%' THEN N'%Name%'
         
ELSE N'%Name%'+'('+ N'%COMMENT%' + ')'
END
EXECUTE sp_addextendedproperty N'MS_Description'@des, N'user', N'%OWNER%', N'table', N'%TABLE%', N'column', N'%COLUMN%'
    
    2.PD中添加测试用的字段 性别

    3.生成SQL语句,生成之后的SQL语句为:
/*==============================================================*/
/* DBMS name:      SQL SERVER 2000 [EXT]                        */
/* Created on:     2008-2-28 16:57:43                           */
/*==============================================================*/


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

/*==============================================================*/
/* Table: Employee                                              */
/*==============================================================*/
create table dbo.Employee (
   ID                   
int                  not null,
   Username             
varchar(20)          null,
   Password             
varchar(20)          null,
   Sex                  
int                  null,
   
constraint PK_EMPLOYEE primary key (ID)
)
go

EXECUTE sp_addextendedproperty N'MS_Description', N'Employee', N'user', N'dbo', N'table', N'Employee'NULLNULL
go

DECLARE @des VARCHAR(255)
SET @des = CASE N'主键ID'
         
WHEN N'主键ID' THEN N'主键ID'
         
ELSE N'主键ID'+'('+ N'主键ID' + ')'
END
EXECUTE sp_addextendedproperty N'MS_Description'
@des
, N
'user', N'dbo', N'table', N'Employee', N'column', N'ID'
go

DECLARE @des VARCHAR(255)
SET @des = CASE N'用户名'
         
WHEN N'用户名' THEN N'用户名'
         
ELSE N'用户名'+'('+ N'用户名' + ')'
END
EXECUTE sp_addextendedproperty N'MS_Description'
@des
, N
'user', N'dbo', N'table', N'Employee', N'column', N'Username'
go

DECLARE @des VARCHAR(255)
SET @des = CASE N'密码'
         
WHEN N'密码' THEN N'密码'
         
ELSE N'密码'+'('+ N'密码' + ')'
END
EXECUTE sp_addextendedproperty N'MS_Description'
@des
, N
'user', N'dbo', N'table', N'Employee', N'column', N'Password'
go

DECLARE @des VARCHAR(255)
SET @des = CASE N'1 男 0 女'
         
WHEN N'性别' THEN N'性别'
         
ELSE N'性别'+'('+ N'1 男 0 女' + ')'
END
EXECUTE sp_addextendedproperty N'MS_Description'
@des
, N
'user', N'dbo', N'table', N'Employee', N'column', N'Sex'
go

    最后效果图:


注意:本次使用的例子是在上篇文章的基础上进行修改的,包括数据库以及PD配置!!
posted @ 2008-02-28 17:33  农民伯伯  阅读(1107)  评论(0编辑  收藏  举报