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%'
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', NULL, NULL
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
最后效果图:/* 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', NULL, NULL
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配置!!
分类:
数 据 库
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!