PowerDesigner里面将表中name列值复制到comment列

/**
 * PowerDesigner里面将表中name列值复制到comment列
 * @see --------------------------------------------------------------------------------------------------------------------
 * @see pd中的pdm默认生成sql时,字段是没有注释的..想要注释的话,有2个方法
 * @see 1.也是推荐的
 * @see   pdm中双击打开一个Table,到Columns选项卡中,按快捷键Ctrl+U,找到Comment并勾选即可
 * @see   而且该操作设置一次就行了,以后在新的Table中也会自动出现Comment
 * @see   设置完毕后,在添加表字段时一并写上注释,这样生成的sql中字段就会有注释了
 * @see 2.执行vbs脚本
 * @see   相较第一种方法,该方法缺点是每次生成sql前,都要执行一遍这个脚本
 * @see   执行方式为Tools-->Execute Commands-->Edit/Run Scripts,或者直接快捷键Ctrl+Shift+X
 * @see   将下面的脚本拷进去执行一遍,也可以保存为name2comment.vbs(下一次再执行的话,就可以Ctrl+O再选择name2comment.vbs即可)
 * @see --------------------------------------------------------------------------------------------------------------------
 * @create 2015-6-3 下午7:53:38
 * @author 玄玉<http://blog.csdn.net/jadyer>
 */
' 如果comment为空,则填入name;如果comment不为空,则保留不变.这样可以避免已有的注释丢失.

Option Explicit
ValidationMode = True
InteractiveMode = im_Batch

Dim mdl ' the current model

' get the current active model
Set mdl = ActiveModel
If (mdl Is Nothing) Then
	MsgBox "There is no current Model "
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then
	MsgBox "The current model is not an Physical Data model. "
Else
	ProcessFolder mdl
End If

' This routine copy name into comment for each table, each column and each view of the current folder
Private sub ProcessFolder(folder)
Dim Tab 'running table
for each Tab in folder.tables
	if not tab.isShortcut then
		if trim(tab.comment)="" then '如果有表的注释,则不改变它;如果没有表注释,则把name添加到注释中.
			tab.comment = tab.name
		end if
		Dim col ' running column
		for each col in tab.columns
			if trim(col.comment)="" then '如果col的comment为空,则填入name;如果已有注释,则不添加.这样可以避免已有注释丢失.
				col.comment= col.name
			end if
		next
	end if
next

Dim view 'running view
for each view in folder.Views
	if not view.isShortcut and trim(view.comment)="" then
		view.comment = view.name
	end if
next

' go into the sub-packages
Dim f ' running folder
For Each f In folder.Packages
	if not f.IsShortcut then
		ProcessFolder f
	end if
Next
end sub
时间: 2024-10-31 12:11:28

PowerDesigner里面将表中name列值复制到comment列的相关文章

如何一条sql语句查找表中第二大值

例1: 一个Customer表,一个字段Value,现请问如何查到Value中第二大的值 select max(value) from Customer where value < (select max(value) from Customer) 例2: 数据库中人表有三个属性,用户(编号,姓名,身高),查询出该身高排名第二的高度. 1.查询出没有重复值的第二名,即假如最高的身高是182,有几个人同时身高是182,则查出身高小于182的的最高的身高值. 1>.方式1: select MAX(

一个表中的字段值用作另一个表的In查询条件

Question表与Paper表 Paper表中字段QuestionIds存储的是Question表中字段Id的拼接后的值 如: 'f855eba1-b308-4bd7-a250-c071a0e1bdf0','c0570880-931b-4b34-ba34-58937f940c21','96249256-ddd7-4b28-a066-ebe1c337cf6c','c0b6171a-1b50-4881-a5f5-9928ce1bf593','b71ad813-abad-40f2-bf97-a1ae

添加数据时如何向表中插入默认值?

建了一个表,建表SQL语句如下:CREATE TABLE `myuser` (  `uid` int(11) unsigned NOT NULL auto_increment,  `username` varchar(250) NULL default '王兵',  `photo` varchar(250) NULL default '32423342',  PRIMARY KEY  (`uid`),) ENGINE=InnoDB DEFAULT CHARSET=gbk; username和ph

在ORACLE中如何将一个表中某字段值合计与另一个表的某字段值相减

现在有两个表,A表字段AMOUNT为发票金额,B表字段REV为收款金额,两表通过字段id关联,需将A表的字段AMOUNT与B表的字段REV相减, 但是A表表示的发票可能对应多个B表的收款金额,如何将A表的AMOUNT与对应的B表的多个REV值的和相减,得到未收款金额 select a.id,(nvl(a.AMOUNT,0)-nvl(b.REV,0)) Result from a, (select b.id,sum(b.REV) REV from b group by b.id) b where

在windows2008 x64 上安装10.2.0.4后的bug--Oracle software忘记设置注册表中的NLS_LANG值

该问题被标记为: Bug 8277395: WINDOWS 2008 X64 10.2.0.4 INSTALLATION DOESN'T SET NLS_LANG REGISTRY , windows x64 bit在安装时没有设置NLS_LANG 请注意: windows2008 x64 所认证通过的Oracle DB版本为10.2.0.4 和10.2.0.5,而windows2008 x64 下Oracle DB 10.2.0.4 是有一个完整安装介质的,不是patch本身. 在Bug 82

【Excle】如何隐藏数据透视表中的错误值

如下:数据透视表出现错误 怎么解决呢 步骤 方法① 单击数据透视表任意单元格→数据透视表工具→分析→选项→勾选"对于错误值显示"→确定 方法② 右键→数据透视表选项(同样可以修改)

初学oracle,sql,DML向表中插入某个值

SQL> conn scott/tigerConnected.SQL> show user;USER is "SCOTT"SQL> create table qq(name varchar2(10),salary number(8,2)); 创建一个表qq,两个段,名字和工资Table created.SQL> select * from qq;  查询表qq的信息no rows selectedSQL> insert into qq(name) valu

mysql取出表中,某字段值最大的一条纪录,sql语句

一个为交易表,有唯一id,别名trade_id 一个为交易状态详情表,记录trade_id的多个状态. 进行了两个表查询.查询某个trade_id的交易情况及最新状态. 直接粘贴此sql,执行即知. -- ------------------------------ Table structure for `trade_test`-- ----------------------------DROP TABLE IF EXISTS `trade_test`;CREATE TABLE `trade

数据库修改一个表中的字段值等于另一个表字段值

(MS SQL Server)语句:Sql代码 update   b  set   ClientName   =   a.name   from   a,b   where   a.id   =   b.id    (Oralce)语句:Sql代码 update   b  set   (ClientName)   =  (SELECT name FROM a WHERE b.id = a.id) 原文地址:https://www.cnblogs.com/hujiapeng/p/8311710.h