Sybase PowerDesigner更改许多(查找/替换/转换)数据项的数据类型

时间:2010-06-07 16:21:11

标签: database-design sybase powerdesigner

我在PowerDesigner中有一个相对较大的概念数据模型。 生成物理数据模型并查看DBMS数据类型后,我需要更新每个数据项的所有数据类型(NUMBER / TEXT)。

我想在概念数据模型中进行查找/替换,或者在创建物理数据模型时以某种方式映射到不同的数据类型。防爆。更改文字的自动转换 - > Clob,to Text - > NVARCHAR(20)。

谢谢!

3 个答案:

答案 0 :(得分:3)

我不知道'标准'发现&替换,但这将工作相同。你有没有针对你的一个模特运行VBScript?如果没有,请告诉我,但如果是这样,请尝试其中一个:

对于概念模型:

Set mdl=ActiveModel

FOR EACH TAB IN MDL.Entities
   IF (not tab.isShortcut) THEN
      FOR EACH COL IN TAB.ATTRIBUTES
         IF COL.DATATYPE = "TXT" THEN
            COL.DATATYPE = "VA20"
         END IF
      NEXT
   END IF
NEXT

基本上,它将查看所​​有实体的所有属性,如果数据类型为“TXT”(文本),则会将其更改为“VA20”(变量字符(20))。

对于物理模型:

Set mdl=ActiveModel

FOR EACH TAB IN MDL.Tables
   IF (not tab.isShortcut) THEN
      FOR EACH COL IN TAB.COLUMNS
         IF COL.DATATYPE = "TEXT" THEN
            COL.DATATYPE = "NVARCHAR(20)"
         END IF
      NEXT
   END IF
NEXT

答案 1 :(得分:2)

如果要将所有CLOB更改为NVARCHAR(20),另一种简单的方法是确保您在主物理图上并转到Model->列...然后按数据类型对列表进行排序,突出显示要更改的数据类型的所有列。将您选择的第一个更改为新数据类型,并更改所有突出显示的列

答案 2 :(得分:0)

从头到尾:

打开元模型编辑器并更改您正在使用的DBMS的数据类型的映射。

你可以在Sybase提供的元模型定义文件中使用它,或者你可以“克隆”(另存为...)或扩展它(并保持原始文件不变 - 这是推荐的方式)

我可能更具体(究竟该怎么做),但这篇文章很老了。所以我最好等待问题作者的反馈。