键元素

内容模型

键:==keyfield

属性

  • @allowEmptyPart(布尔)
  • @applicableIf(字符串)
  • @internal(布尔)
  • @label(字符串)
  • @name(MNTOKEN)
  • @noDbIndex(布尔)

父项

<element>

子项

<keyfield>

说明

利用此元素,可定义用于标识表中记录的键。

表必须至少具有一个键。

的使用和使用上下文

通常,键值会在架构的主元素和索引之后声明。

如果键包含多个字段(即多个<keyfield>子项),则称为复合键。 请勿使用复合键来定义主键。

如果架构的主元素包含“@autopk=true”属性,则主键是唯一的。 每个架构只能有一个主键。

前1000个标识符是保留的,因此,如果需要为键定义一系列值,则从1000开始。

属性描述

  • allowEmptyPart(布尔值):对于复合键,如果激活此属性,则当其至少一个键不为空时,它们的键将被视为有效。如果是这种情况,则空概念值为“0”(布尔值或所有类型的数值数据)。 默认情况下,需要输入构成复合键的所有键。
  • appliableIf(字符串):此属性允许您使键为可选项。它定义了将应用键定义的条件。 此属性接收XTK表达式。
  • 内部(布尔):如果激活了该键,则此属性会告知Adobe Campaign键是主键。
  • 标签(字符串):键的标签。
  • name(MNTOKEN):密钥的内部名称。
  • noDbIndex(布尔):如果激活它(noDbIndex="true"),则不会为与键值匹配的字段编入索引。

示例

复合键的声明,该键授权“@expr”或“alias”字段为空:

<key name="node" allowEmptyPart="true">
  <keyfield xpath="@expr"/>
   <keyfield xpath="@alias"/>
 </key>

<srcschema>的STRING类型的“Name”字段中声明主键,并声明匹配的SQL查询:

 
<key name="PrimaryKey" internal="true">  
  <keyfield xpath="@name"/>
</key>

CREATE UNIQUE INDEX Schema_PrimaryKey ON Schema(sName);

在此页面上