引用现有表的模式的特性如下:
请勿删除标准收件人表中的字段,即使这些字段没有用处也是如此。 这可能导致Adobe Campaign库中的行为错误。
源模式接受srcSchema根元素的视图属性。 在自定义表中处理Adobe Campaign时,必须使用它。 视图="true"属性告知数据库结构更新向导忽略此模式。 因此,禁止应用程序将表、其列和其索引与相应的模式同步。
当此属性设置为true时,该模式仅用于生成SQL查询以访问此表的数据。
当表更新向导创建表时,将根据各模式和属性的名称自动生成表和列的名称。 但是,可以通过输入以下属性强制使用SQL名称:
示例:
<element label="Individual" name="individual" sqltable="individual">
<key internal="true" name="id">
<keyfield xpath="@id"/>
</key>
<attribute name="id" type="long" length="32" />
<attribute name="lastName" type="string" length="100" sqlname="Last_Name"/>
<attribute name="firstName" type="string" length="100" sqlname="First_Name"/>
<attribute name="email" type="string" length="100"/>
<attribute name="mobile" type="string" length="100"/>
</element>
在本示例中,如果未明确指定表和列的名称,则应用程序应使用CusIndividual作为表,lastName和firstName作为列。
在模式中,只能填充现有表的部分列。 未填充的列将不可由用户访问。
从客户端控制台对列表记录进行排序时,通过对索引字段进行排序可以获得更好的性能。 在模式中声明索引使控制台在列标签左侧的排序顺序箭头下显示索引字段并带有红线,如下所示:
在模式中,索引定义如下:
<dbindex name="name_of_index" unique="true/false"
<keyfield xpath="xpath_1st_field"/
<keyfield xpath="xpath_2nd_field"/
...
</dbindex
因此,在匹配模式中声明自定义表的现有索引很重要。
为源模式的每个密钥和链接声明隐式声明索引。 通过指定noDbIndex="true"属性,可以阻止索引声明:
示例:
<key internal="true" name="customer" noDbIndex="true">
<keyfield xpath="@customerId"/>
</key>