XML 模型
端口將知行之橋中的 表建模為 XML。建模遵循以下結構:- 父元素標識要插入的表。
- 每個子元素對應目標表中的一列。
</> 程式碼 可以檢視表的 XML 模型。以下 XML 是名為 Account 的表的簡化範例模型,它被建模為 XML 元素 <Account>:
Id、account_c、AccountNumber 和 AccountSource 是 Account 表中的列。當端口處理與此結構匹配的 XML 檔案時,它會自動將來自該 XML 的值插入到 Account 表中。當端口查詢 Account 表時,它會輸出與此結構匹配的 XML。
批次輸入
批次輸出
子表
子表 XML
插入父表和子表時,輸入對映 XML 結構將是多層的。以下 XML 是透過外部索引鍵關聯的兩個表的範例輸入對映:Account 是父表,AccountPartner 是子表。當 端口處理匹配此結構的輸入 XML 檔案時,它會更新這兩個表並確保連結兩條記錄的鍵相同。
使用 ref 屬性
子表中的某些列標有 ref 標記。此標記表示這些列對應於父表中的主索引鍵。在對父表進行插入之後,在對子表進行插入之前,端口會在父表中查詢它剛剛插入的記錄的主索引鍵。然後,端口在插入子表時使用此值。 當父表的主索引鍵由 生成時,這很有用。在這種情況下,此列不會作為輸入 XML 傳入,因此端口在將記錄插入到父表中之前不知道該列的值。 在 XML 模型中,ref 屬性表示可以稍後引用列,或者應該從對映中的另一列讀取列的值。為了引用由 生成的列的值,列元素應包含一個設定為保留值 LAST_INSERT_ID 的 ref 屬性:
ref 元素設定為相關列的名稱:
ref 語法指示端口在插入後從父表中檢索 id,然後將檢索到的值用作子表中的 id 列。
從子表選擇
僅處理新增或更改的記錄
使用 Last Modified 列
使用自定義列
預處理和後處理查詢
XML 屬性
表屬性
allColumns
insertQuery
outputResult
processChangesOnly
requireInput
selectQuery
table
upsertQuery
列屬性
aggregate
column
id
在選擇(Select)對映中,此屬性使用 Id 標記對列值進行標記,隨後可以在子查詢中使用語法${#ID} 引用該標記。當子查詢中需要列值,且多個表中的匹配列名可能導致選擇歧義時,這非常有用。