數(shù)據(jù)關(guān)聯(lián)更新
在一些復(fù)雜場(chǎng)景中,需要多張表進(jìn)行配合,才能滿足業(yè)務(wù)的需求。典型的場(chǎng)景如出入庫(kù):出庫(kù)、入庫(kù)、庫(kù)存 分別是3張表單,出入庫(kù)時(shí)會(huì)隨時(shí)影響庫(kù)存表中的數(shù)量。又比如會(huì)員充值場(chǎng)景中,充值成功后,要更新會(huì)員儲(chǔ)值卡的余額;會(huì)員消費(fèi)積分場(chǎng)景中,下單支付成功后積分自動(dòng)增加。這時(shí)就需要用到本節(jié)重點(diǎn)講到的關(guān)聯(lián)更新:當(dāng)一個(gè)表的數(shù)據(jù)變化時(shí),自動(dòng)更新另一個(gè)表的數(shù)據(jù)。
關(guān)聯(lián)名稱
關(guān)聯(lián)更新設(shè)置的名稱
更新時(shí)點(diǎn)
支持?jǐn)?shù)據(jù)新增時(shí)、數(shù)據(jù)更新時(shí)、數(shù)據(jù)刪除時(shí)和支付完成時(shí)(需開通支付)。注意這里的更新時(shí)點(diǎn)是針對(duì)當(dāng)前表單(即觸發(fā)表或數(shù)據(jù)源表)而言。
被更新表
需要被更新數(shù)據(jù)的表單,我們用”B”表示,當(dāng)前表(即觸發(fā)表或數(shù)據(jù)源表)用”A“表示。
關(guān)聯(lián)條件
被更新表 B 和觸發(fā)表 A 數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系,只有滿足此對(duì)應(yīng)關(guān)系時(shí),B 表數(shù)據(jù)才會(huì)被更新。支持1個(gè)或多字字段相等的對(duì)應(yīng)關(guān)系。
關(guān)聯(lián)條件字段一般是能唯一確定一條數(shù)據(jù)的字段,設(shè)置錯(cuò)誤可能導(dǎo)致數(shù)據(jù)混亂,切記
比如一般會(huì)選擇會(huì)員編號(hào)、學(xué)號(hào)、手機(jī)號(hào)等能夠唯一標(biāo)識(shí)數(shù)據(jù)的字段作為關(guān)聯(lián)條件。
更新字段
需要被更新的字段。指被更新表(即 B 表中的字段)
更新字段值
支持固定值、觸發(fā)表中的字段值(即更新的值來源于觸發(fā)表中的數(shù)據(jù))
,如果是數(shù)字類型的字段,還支持簡(jiǎn)單的加減乘除四則運(yùn)算。
如果你熟悉SQL,可以用如下MYSQL語(yǔ)句進(jìn)行類比(僅僅是類比,實(shí)際不是執(zhí)行此語(yǔ)句):

滿足特定條件才能觸發(fā)更新
可以附加一定的固定條件,滿足此條件時(shí)才會(huì)觸發(fā)關(guān)聯(lián)更新,作為觸發(fā)的前提條件。同樣支持多個(gè)條件,用 并且(and)、或者(or)進(jìn)行連接。
被更新表中沒有匹配數(shù)據(jù)時(shí)的處理
如果勾選,在被更新表中沒有匹配的數(shù)據(jù)時(shí),將會(huì)自動(dòng)新增一條數(shù)據(jù)。
演示:支付成功更新會(huì)員積分場(chǎng)景。




關(guān)聯(lián)更新設(shè)置因?yàn)楸容^復(fù)雜,所以在設(shè)置完成后,一定要先進(jìn)行測(cè)試,待沒有問題后再正式用于生產(chǎn)環(huán)境。否則可能導(dǎo)致無法恢復(fù)的數(shù)據(jù)錯(cuò)亂。
對(duì)子表的每一條數(shù)據(jù)進(jìn)行編號(hào)
使用場(chǎng)景:將子表中的每一條數(shù)據(jù)更新到一個(gè)總表中,且子表的數(shù)據(jù)修改更新時(shí),總表中對(duì)應(yīng)的數(shù)據(jù)也需要更新??偙碇幸粋€(gè)手機(jī)號(hào)或證件號(hào)可能存在多條數(shù)據(jù),這樣就不能用手機(jī)號(hào)或證件號(hào)作為更新條件,需要運(yùn)用函數(shù)將子表的每一條數(shù)據(jù)進(jìn)行編號(hào),用編號(hào)作為更新條件。

總結(jié)
關(guān)聯(lián)更新將表單的應(yīng)用場(chǎng)景從簡(jiǎn)單的單表應(yīng)用擴(kuò)展到多表應(yīng)用,為構(gòu)建復(fù)雜應(yīng)用系統(tǒng)提供了可能。再結(jié)合填寫關(guān)聯(lián)、表單間跳轉(zhuǎn)傳值、多表交叉查看、子表單、函數(shù)和公式、流程,可以構(gòu)建更多復(fù)雜的應(yīng)用系統(tǒng)。這些高級(jí)功能在以后的課程中會(huì)逐步講解。