C語言觸發器模式

2021-07-26 05:32:09 字數 1603 閱讀 2631

觸發器模式是在條件滿足或不滿足時,觸發特定動作的模式。

用於週期性處理過程中,根據事件觸發時機,進行事件響應處理。

定義觸發器結構:

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...