[也適用於v8]{class="badge positive" title="亦適用於Campaign v8"}

方案特性 schema-characteristics

參照現有表格的綱要特性如下:

  • Adobe Campaign不得修改相對於現有表格的SQL物件。
  • 必須明確指定資料表和資料行的名稱,
  • 必須宣告索引。
IMPORTANT
請勿刪除內建收件者表格中的欄位,即使這些欄位沒有用處。 這可能會導致Adobe Campaign資料庫發生行為錯誤。

檢視屬性 the-view-attribute

Source結構描述接受​ srcSchema ​根專案的​ 檢視 ​屬性。 在自訂表格中操作Adobe Campaign時,必須使用它。 view="true" ​屬性會告訴資料庫結構更新助理忽略此結構描述。 因此,禁止應用程式將表格、其欄及其索引與對應的綱要同步。

當這個屬性設定為​ true ​時,結構描述只會用來產生SQL查詢,以存取這個資料表的資料。

表格和欄的名稱 names-of-tables-and-columns

當表格是由表格更新輔助程式建立時,表格和欄的名稱會根據個別綱要和屬性的名稱自動產生。 不過,可以輸入下列屬性來強制使用SQL名稱:

  • 在結構描述的主要專案中的​ sqltable,若要指定資料表,
  • 每個屬性內的​ sqlname,以指定資料行。

範例

<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

在結構描述中,可能只填入現有表格的一部分欄。 使用者無法存取未填入的欄。

索引欄位 indexed-fields

從使用者端主控台排序清單的記錄時,依索引欄位排序可獲得較佳的效能。 在結構描述中宣告索引,讓主控台在欄標籤左側的排序順序箭頭下顯示帶有紅線的索引欄位,如下所示:

在結構描述中,索引的定義如下:

<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>
recommendation-more-help
601d79c3-e613-4db3-889a-ae959cd9e3e1