dbindex元素 dbindex--element
內容模型 content-model-3
dbindex:==keyfield
屬性 attributes-3
- @_operation (字串)
- @applicableIf (字串)
- @label (字串)
- @name (MNTOKEN)
- @unique (布林值)
父項 parents-3
<element>
子系 children-3
<keyfield>
說明 description-3
此元素可讓您定義連結至表格的索引。
使用與使用內容 use-and-context-of-use-3
可以定義多個索引。 一個索引可以參考資料表的一或多個欄位。 索引宣告通常遵循主要結構描述元素的定義。
在<dbindex>
中定義的<keyfield>
專案順序非常重要。 第一個<keyfield>
必須是查詢主要依據的索引准則。
資料庫中索引的名稱是透過串連資料表的名稱和索引的名稱來計算的。 例如:資料表名稱"Sample"、名稱空間"Cus"、索引名稱"MyIndex"->建立索引期間索引欄位的名稱查詢:"CusSample_myIndex"。
屬性說明 attribute-description-3
-
_operation (字串):定義在資料庫中寫入的型別。
此屬性主要用於擴充現成可用的結構描述。
可存取的值包括:
- "none":僅調解。 這表示Adobe Campaign將會復原元素,而不會更新元素,如果元素不存在則會產生錯誤。
- "insertOrUpdate":以插入更新。 這表示Adobe Campaign將更新元素,或如果元素不存在則建立元素。
- "insert": insertion. 這表示Adobe Campaign會插入元素,而不檢查元素是否存在。
- "update":更新。 這表示Adobe Campaign將更新元素,如果元素不存在則會產生錯誤。
- "delete":刪除。 這表示Adobe Campaign將復原和刪除元素。
-
applicableIf (字串):考慮索引的條件 — 接收XTK運算式。
-
標籤(字串):索引標籤。
-
名稱(MNTOKEN):唯一的索引名稱。
-
唯一(布林值):如果已啟動此選項(@unique="true"),則屬性會保證索引在其欄位中的唯一性。
範例 examples-3
在「id」欄位上建立索引。 (<dbindex>
專案上的「@unique」屬性會在資料庫中建立索引時,觸發新增「UNIQUE」SQL關鍵字(查詢)。)
<element label="Sample" name="Sample">
<dbindex name="myIndex" label="My index on the ID field" unique="true" applicableIf="HasPackage('nms:social')">
<keyfield xpath="@id"/>
</dbindex>
<attribute name="id" type="long"/>
</element>
ALTER TABLE CusSample ADD iSampleId INTEGER;
UPDATE CusSample SET iSampleId = 0;
ALTER TABLE CusSample ALTER COLUMN iSampleId SET Default 0;
ALTER TABLE CusSample ALTER COLUMN iSampleId SET NOT NULL;
CREATE UNIQUE INDEX CusSample_myIndex ON CusSample(iSampleId);
在「@mail」和「@phoneNumber」欄位上建立複合索引:
<element label="NewSchemaUser" name="NewSchemaUser">
<dbindex name="myIndex" label="My composite index">
<keyfield xpath="@email"/>
<keyfield xpath="@phone"/>
</dbindex>
<attribute name="email" type="string"/>
<attribute name="phone" type="string"/>
</element>
CREATE INDEX DocNewSchemaUser_myIndex ON DocNewSchemaUser(sEmail, sPhone);
recommendation-more-help
601d79c3-e613-4db3-889a-ae959cd9e3e1