我想问一下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的新手,所以我欢迎有关如何解决此问题的所有提示。