觸發器模式是在條件滿足或不滿足時,觸發特定動作的模式。
用於週期性處理過程中,根據事件觸發時機,進行事件響應處理。
定義觸發器結構:
typedef enum
bool_t;
typedef struct
trigger_t;
void init_trigger(trigger_t *t, int initstate)
bool_t touch_trigger(trigger_t *t, int newstate)
通過在週期性處理中,模擬資料輸入和響應行為:
例如,在特定條件滿足/不滿足時、觸發特定動作。
#include #include #include int main()
; trigger_t t;
init_trigger(&t, 0);
for(i = 0; speeds[i] != -1; i++)
else
}printf("\n");
} return 0;
}
程式執行結果,可以看到在車速高於20km/h時觸發報警,低於20時關閉報警。
signal[0] = 0 --> condition:false
signal[1] = 10 --> condition:false
signal[2] = 22 --> condition:true --> action:beep on
signal[3] = 30 --> condition:true
signal[4] = 23 --> condition:true
signal[5] = 10 --> condition:false --> action:beep off
signal[6] = 15 --> condition:false
例如,在特定狀態改變時、觸發特定動作。
#include #include #include int main()
; trigger_t t;
init_trigger(&t, 'p');
for(i = 0; gears[i] != 0; i++)
printf("\n");
} return 0;
}
程式執行結果,可以看到狀態改變時觸發提示。
signal[0] = p --> state:p
signal[1] = p --> state:p
signal[2] = r --> state:r --> action:gear changed
signal[3] = n --> state:n --> action:gear changed
signal[4] = n --> state:n
signal[5] = n --> state:n
signal[6] = d --> state:d --> action:gear changed
signal[7] = d --> state:d
c語言 mysql觸發器 MySql 觸發器操作
觸發器 觸發器是一段與某個表相關的sql語句,會在某個時間點,滿足某個條件後自動觸發執行。支援的時間點 時間發生前before和發生後after 支援的事件 update 可用old訪問舊資料,new訪問新資料 delete 可用old訪問新資料 insert 可用new訪問新資料 可以將new和o...
觸發器 mysql觸發器
觸發器是一種特殊的儲存過程,它在插入 刪除或修改特定表中的資料時觸發執行,它比資料庫本身標準的功能有更精細和更複雜的資料控制能力。和儲存過程一樣,很少使用。1 觸發器的作用 2 建立觸發器 建立測試環境 mysql create database test db query ok,1 row aff...
觸發器(五 復合觸發器)
oracle11g開始提供了一種復合觸發器,簡單的說就是支援把語句級和行級觸發器組合在一起。實際應用場景不多,這裡就做個記錄。與單個觸發器語法有所區別 1.單個觸發器的頭部是 before after 動作 on 物件 for 觸發級別 而組合觸發器的頭部是 for 動作 on 物件 compoun...