

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 建立、編輯或刪除資料動作
<a name="data-entities-edit-data-actions"></a>

資料動作用於應用程式，以對實體的資料執行動作，例如擷取所有記錄，或依 ID 擷取記錄。資料動作可用來尋找和傳回符合指定條件的資料，以便在資料表或詳細資訊檢視等元件中檢視。

**Contents**
+ [建立資料動作](#data-entities-data-action-add)
+ [編輯或設定資料動作](#data-entities-data-action-edit)
+ [資料動作條件運算子和範例](#data-entities-data-action-operators)
  + [資料庫的條件運算子支援](#data-entities-data-action-operators-support)
  + [資料動作條件範例](#data-entities-data-action-operators-examples)
+ [刪除資料動作](#data-entities-data-action-delete)

## 建立資料動作
<a name="data-entities-data-action-add"></a>

**提示**  
您可以按 CTRL\+Z 復原實體的最新變更。

1. 如有必要，請導覽至您要為其建立資料動作的實體。

1. 選擇**資料動作**索引標籤。

1. 有兩種方法來建立資料動作：
   + （建議） 若要使用 AI 來產生資料動作，根據您的實體名稱、欄位和連線的資料來源，請選擇**產生資料動作**。將產生下列動作：

     1. `getAll`：從實體擷取所有記錄。當您需要顯示記錄清單或一次對多個記錄執行操作時，此動作很有用。

     1. `getByID`：根據實體的唯一識別符 (ID 或主索引鍵） 擷取單一記錄。當您需要對特定記錄顯示或執行操作時，此動作非常有用。
   + 若要新增單一資料動作，請選擇 **\+ 新增資料動作**。

1. 若要檢視或設定新的資料動作，請參閱下一節：[編輯或設定資料動作](#data-entities-data-action-edit)。

## 編輯或設定資料動作
<a name="data-entities-data-action-edit"></a>

1. 如有必要，請導覽至您要為其建立資料動作的實體。

1. 選擇**資料動作**索引標籤。

1. 在**欄位中**，設定要由查詢傳回的欄位。根據預設，會選取實體中的所有設定欄位。

   您也可以執行下列步驟，將**聯結**新增至資料動作：

   1. 選擇 ** \+ 新增加入**以開啟對話方塊。

   1. 在**相關實體**中，選取您要加入目前實體的實體。

   1. 在**別名**中，選擇性地輸入相關實體的暫時別名名稱。

   1. 在**聯結類型**中，選取所需的聯結類型。

   1. 從每個實體中選取欄位，以定義聯結子句。

   1. 選擇**新增**以建立聯結。

   建立後，聯結會顯示在**聯結**區段中，讓要**傳回的欄位**下拉式清單中提供其他欄位。您可以新增多個聯結，包括跨實體的鏈結聯結。您也可以依加入的實體中的欄位進行篩選和排序。

   若要刪除聯結，請選擇其旁邊的垃圾桶圖示。這將從該聯結中移除任何欄位，並使用這些欄位破壞任何相依聯結或限制條件。

1. 在**條件**中，新增、編輯或移除篩選查詢輸出的規則。您可以將規則組織成群組，並使用 `AND`或 `OR`陳述式將多個規則鏈結在一起。如需您可以使用之運算子的詳細資訊，請參閱 [資料動作條件運算子和範例](#data-entities-data-action-operators)。

1. 在**排序**中，選擇屬性並選擇遞增或遞減順序，以設定查詢結果的排序方式。您可以選擇排序規則旁的垃圾桶圖示，以移除排序組態。

1. 在**轉換結果**中，您可以輸入自訂 JavaScript，在結果顯示或傳送至自動化之前修改或格式化結果。

1. 在**輸出預覽**中，根據設定的欄位、篩選條件、排序和 JavaScript 檢視查詢輸出的預覽資料表。

## 資料動作條件運算子和範例
<a name="data-entities-data-action-operators"></a>

您可以使用條件運算子來比較設定的表達式值與實體資料欄，以傳回資料庫物件的子集。您可以使用的運算子取決於資料欄的資料類型，以及實體連線的資料庫類型，例如 Amazon Redshift、Amazon Aurora 或 Amazon DynamoDB。

下列條件運算子可與所有資料庫服務搭配使用：
+ `=` 和 `!=`：適用於所有資料類型 （主索引鍵資料欄除外）。
+ `<=`、`<`、 `>=`和 `>=`：僅適用於數值欄。
+ `IS NULL` 和 `IS NOT NULL`：用於比對具有 null 或空白值的資料欄。Null 值在每個資料庫中的解譯方式通常不同，但在 App Studio 中，`NULL`運算子會比對並傳回連線資料庫資料表中具有 Null 值的記錄。

下列條件運算子只能在連線至支援它們的資料庫服務的實體中使用：
+ `LIKE` 和 `NOT LIKE`(Redshift、Aurora)：用於在連線的資料庫中執行模式型查詢。`LIKE` 運算子提供搜尋功能的彈性，因為它會尋找並傳回符合指定模式的記錄。您可以使用符合模式內任何字元或字元序列的萬用字元來定義模式。每個資料庫管理系統都有一組唯一的萬用字元，但最熱門的兩個是`%`代表任意數量的字元 （包括 0)`_`，以及代表單一字元。
+ `Contains` 和 `Not Contains`(DynamoDB)：用於執行區分大小寫的搜尋，以判斷欄值內是否找到指定的文字。
+ `Starts With` 和 `Not Starts With`(DynamoDB)：用於執行區分大小寫的搜尋，以判斷指定的文字是否在資料欄值的開頭找到。

### 資料庫的條件運算子支援
<a name="data-entities-data-action-operators-support"></a>

下表顯示每個可連線至 App Studio 的資料庫支援哪些資料動作條件運算子。


|  | =, \!=, <, >, <=, >= | LIKE、NIKE | 包含、不包含 | 從 開始，從 開始 | IS NULL、IS NOT NULL | 
| --- | --- | --- | --- | --- | --- | 
| **DynamoDB** | 是 | 否 | 是 | 是 | 是 | 
| **Aurora** | 是 | 是 | 否 | 否 | 是 | 
| **Redshift** | 是 | 是 | 否 | 否 | 是 | 

### 資料動作條件範例
<a name="data-entities-data-action-operators-examples"></a>

請考慮下列資料庫資料表，其中包含具有 `name`、 `city`和 `hireDate` 欄位的多個項目。


| name | 城市 | hireDate | 
| --- | --- | --- | 
| 亞當 | 西雅圖 | 2025-03-01 | 
| Adrienne | 波士頓 | 2025-03-05 | 
| Bob | 阿布奎基 | 2025-03-06 | 
| Carlos | 芝加哥 | 2025-03-10 | 
| Caroline | NULL | 2025-03-12 | 
| Rita | 邁阿密 | 2025-03-15 | 

現在，請考慮在 App Studio 中建立資料動作，以針對符合指定條件的項目傳回 `name` 欄位。下列清單包含條件範例，以及資料表針對每個項目傳回的值。

**注意**  
這些範例已格式化為 SQL 範例，可能不會如在 App Studio 中所示，而是用來說明運算子的行為。
+ `WHERE name LIKE 'Adam'`：傳回 `Adam`。
+ `WHERE name LIKE 'A%'`：傳回 `Adam`和 `Adrienne`。
+ `WHERE name NOT LIKE 'B_B'`：傳回 `Adam`、`Adrienne`、`Caroline`、 `Carlos`和 `Rita`。
+ `WHERE contains(name, 'ita')`：傳回 `Rita`。
+ `WHERE begins_with(name, 'Car')`：傳回 `Carlos`和 `Caroline`。
+ `WHERE city IS NULL`：傳回 `Caroline`。
+ `WHERE hireDate < "2025-03-06"`：傳回 `Adam`和 `Adrienne`。
+ `WHERE hireDate >= DateTime.now().toISODate()`：請注意， `DateTime.now().toISODate()`會傳回目前日期。在目前日期為 2025-03-10 的情況下，表達式會傳回 `Carlos`、 `Caroline`和 `Rita`。

**提示**  
如需在表達式中比較日期和時間的詳細資訊，請參閱 [日期和時間](expressions.md#expressions-date-time)。

## 刪除資料動作
<a name="data-entities-data-action-delete"></a>

使用下列程序從 App Studio 實體刪除資料動作。

1. 如有必要，請導覽至您要刪除資料動作的實體。

1. 選擇**資料動作**索引標籤。

1. 針對您要刪除的每個資料動作，選擇**編輯**旁的下拉式選單，然後選擇**刪除**。

1. 在對話方塊中選擇**確認**。