跳轉到主要內容

資料表和資料行

進階索引標籤設定

以下設定位於進階索引標籤上:

設定描述
傳送身分以其他使用者或共用信箱的身分傳送電子郵件。使用 AzureAD 時,需要委派的 Mail.Send.Shared 權限。使用僅限應用程式的方案時,需要 Mail.Send 應用程式權限,以及由 Exchange 系統管理員在目標信箱上授予的「傳送為」權限。
代表傳送代表其他使用者傳送電子郵件。收件者會同時看到寄件者和傳送該郵件的信箱。

UPSERT 查詢行為

在表結構模式和對映模式下,均按列配置 UPSERT 設定。右鍵單擊某列,然後從快顯功能表中選擇 UPSERT 設定。

隨即開啟 UPSERT 設定 對話方塊。預設情況下,啟用 UPSERT 設定 開關為 ON,這意味著端口會先檢查目標中是否已存在記錄,再決定執行 INSERT 還是 UPDATE。

用於確定記錄是否存在的查詢由以下部分中描述的邏輯控制。

UPSERT 設定已啟用

當 啟用 UPSERT 設定 處於開啟狀態時,查詢行為取決於在 UPSERT 設定 清單中選擇的選項:UPSERT by(按單列匹配)或 Query to select UPSERT key(使用自訂查找查詢)。

依 Id UPSERT

在 UPSERT 設定 清單中選擇 UPSERT by 並選擇表的鍵列後,端口會發出查詢,以確定是否存在具有匹配鍵值的任何記錄:
匹配結果更新;沒有匹配結果導致插入。 如果輸入 XML 中不存在鍵列,則始終插入記錄:

依非索引鍵資料行 UPSERT

在 UPSERT 設定 清單中選擇 UPSERT by 並選擇非鍵列後,端口會發出查詢,以確定是否存在該列包含匹配值的記錄,SELECT 語句以表的主索引鍵為目標(以下範例演示向 Orders 表執行 UPSERT):
SELECT 查詢始終以 SELECT 語句中表的鍵列為目標。如果匹配成功,則輸入 XML 中的資料將更新到資料來源中。如果沒有匹配,則插入記錄。
如果輸入中未指定所選的 UPSERT by 列,則查詢將與 NULL 值一起使用,如以下查詢所示:

使用自訂查詢

在 UPSERT 設定 清單中選擇 Query to select UPSERT key 後,可以編寫自訂查詢來確定 UPSERT 鍵。這樣可以使用比單列匹配更複雜的邏輯來執行查找。考慮以下查詢:
在此範例中,必須選擇表的鍵列,以便為 UPDATE 提供足夠的條件。@OrderID 語法用於引用匹配輸入 XML 中的值。還可以使用靜態值:'Active' 周圍的引號表示該子句使用靜態值。 同樣,鍵列的成功匹配用於形成更新請求。如果沒有匹配,則插入記錄。
當對資料庫插入的行為有疑問時,請檢視 UPSERT 嘗試的 .log 檔案:用於指導該行為的邏輯的完整細分將傳送到日誌檔案。

UPSERT 設定已停用

要對某列停用 UPSERT 行為,請開啟 UPSERT 設定 對話方塊(右鍵單擊目標列並選擇 UPSERT 設定),將 啟用 UPSERT 設定 切換為 OFF,然後單擊 套用。 停用 UPSERT 設定後,端口僅發出 INSERT 查詢。檢查輸入對映的程式碼檢視顯示表的 action 屬性是 insert:
無論主索引鍵是否存在,向表發出的所有查詢都被視為插入。要根據表更新所有收到的記錄,可以將此操作關鍵字設定為 update,如以下程式碼片段所示:
當操作定義為 update 時,應用程式期望表的鍵列(例如 Id)存在。如果未提供鍵列,則 UPDATE 命令的效果可能會因目標資料庫型別而異,因此可能會看到更改的行數比預期多,或者根本沒有更改。

知行之橋工作流程範例