SPARX Enterprise Architect DDL模板语言

时间:2017-07-31 12:46:09

标签: templates ddl enterprise-architect

我想问一下EA中的DDL模板。我需要调整模板来生成表格。

以下代码应该自我解释我想做什么......

$PARTITION_BY = %classTag:"PARTITION_BY"%
$PARTITION_TARGET = %classTag:"PARTITION_TARGET"%


%if $PARTITION_BY == "RANGE"%
PARTITION BY RANGE ($PARTITION_TARGET) INTERVAL(NUMTOYMINTERVAL(1, 'MONTH'))
  (
    PARTITION "P_2016Q4" VALUES LESS THAN (TO_DATE('2017-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN')) TABLESPACE BA_DATA
  )
%endIf%

一旦我开始工作并且基本上充当十字路口,基于$PARTITION_BY值的值将会有更多的分区变体。 $PARTITION_TARGET然后包含表格应该被分区的FK或列......但是......

我得到的结果是

%if
PARTITION BY RANGE ()
TABLESPACE BA_DATA

这完全错了。

首先,为什么IF语句的编写方式与其他语句完全相同(而且没有endIf副本),为什么会有%if部分。

其次,$PARTITION_BY$PARTITION_TARGET都是空的。我想这是因为使用的classTag应该是其他东西,但EA不知道tableTag是什么,我没有找到有效的替换。

第三,由于$PARTITION_BY为空,为什么IF块甚至写入。

我是EA的新手,所以我欢迎有关如何解决此问题的所有提示。

0 个答案:

没有答案