Power Designer,在表之前生成程序

时间:2014-03-28 21:43:04

标签: sql powerdesigner

我正在使用Power Designer来创建数据库模型。在我的一个表中,我创建了一个Check约束,它调用一个函数来验证属性。我创建表的脚本如下所示

   create table tbl_Inventory (
      Id      int                  identity,
      Name    VARCHAR(50)          not null
      constraint CK_Inventory_Name check (([dbo].[fn_CheckNameComplexLogic]([Name]) = 1)),
      constraint PK_Inventory primary key (Id),
   )

我还创建了一个执行检查的函数fn_CheckNameComplexLogic

当我尝试通过数据库 - >生成数据库来使用代码生成工具时。生成的代码始终在create table之前放置create function。因为我的表依赖于函数,所以脚本总是出错。我可以手动编辑生成的代码,但我想知道PowerDesigner中是否有一个地方可以配置它。

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

如果可能有点矫枉过正,但您可以更改生成顺序以将(全部)函数(包括在Procedure类别中)放在Table之前。

  • 使用Database>Change Current DBMS
  • 将DBMS嵌入到您的模型中
  • 使用Database>Edit Current DBMS
  • 进行修改
  • 更改Script\Objects\GenerationOrder项目中的顺序(使用XML视图)
  • Procedure置于Table
  • 之上

答案 1 :(得分:0)

只需在%MINMAX%和%LISTVAL%以及%CASE%和%RULES%之类的所有构造之后将条件添加到列属性选项卡的附加检查中,并在此处写下您的条件...