我正在使用电源设计器创建一个数据库模型。在其中一个表中,我创建了一个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中是否有一个地方可以配置这个。
谢谢你的帮助。
这可能有点过分,但是您可以更改生成顺序,将(所有)函数(包含在Procedure
类别中)放在Table
之前。
- 嵌入DBMS在您的模型与
Database>Change Current DBMS
- 用
Database>Edit Current DBMS
编辑 - 更改
ScriptObjectsGenerationOrder
项的顺序(使用XML视图) - 将
Procedure
置于Table
之上
只需将条件添加到列属性的附加检查选项卡之后的所有结构,如%MINMAX%和%LISTVAL%和%CASE%和%RULES%,并在这里写下您的条件…