PowerDesigner之设置(2)——扩展属性

本文详细介绍了如何在PowerDesigner中通过设置扩展方法,解决SQL2000数据库中中文表名注释无法定长的问题。包括添加自定义属性、实现获取汉字数量的方法、修改表头注释等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库:SQL2000

PD版本:16

PowerDesigner之设置(1)中,创建表的表头注释部分由于中文的原因无法定长,这里我们用PD的扩展方法来解决。

具体方法如下:

  1. 主菜单DataBase->Edit Current DBMS->Profile-> Table-> Extended Attributes右键new菜单添加一个属性,下面添加一个TableName30属性,勾选Computed,则会自动显示方法标签页,这个方法用来重写表名行注释,这里就用了只读方法就可以了,勾选Read Only

  2. 切换到Global Script标签页,这里面的是全局脚本,我们添加一个获取字符串中汉字个数的方法GetHanziNum,如下:
    '获取字符串中汉字总数
    Function GetHanziNum(sStr)
       '汉字总数
       Dim Sum
       '循环数
       Dim c
       '表名中字符
       Dim Char
       Sum = 0
       For c = 1 To Len(sStr)
          Char = Mid(sStr, c, 1)
          If (AscW(Char) > -40870 And AscW(Char) < -19967) Or (AscW(Char) < 40870 And AscW(Char) > 19967) Then
             Sum = Sum + 1
          End If
       Next
       GetHanziNum=Sum
    End Function
    View Code

  3. 切换到Get Method Script标签页,写该属性的返回值。
    Function %Get%(obj)
       ' Implement your getter method on <obj> here
       ' and return the value
    
       '表名名称,表名代码
       Dim tableName,tableCode
       '拼接字符串
       Dim str
       tableName=obj.name
       tableCode=obj.code  
       str="/* Table: "_     
          & left(tableCode & "               ",15)_    
          & left(tableName & "                                     ",39-GetHanziNum(tableName))_   
          & "*/"     
       %Get% = str
    End Function
    View Code

  4. 修改table的create值。

    主菜单DataBase->Edit Current DBMS->Script->Objects->Table->CreateValue修改。

    将其中的表头注释部分修改为:

    /*==============================================================*/

    %TableName30%

    /*==============================================================*/

     

    综上,大功告成!

    下面展现下效果:

    汉字与英文结合也不受影响。如下:

转载于:https://www.cnblogs.com/liuke1987/p/3232333.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值