以下の問題を解決するためのSQLプロシージャ/関数が必要です。
テーブルAとテーブルBの2つのテーブルがあります。
- テーブル A には、名前、番号、フラグの 3 つの列があります。
- テーブル B には、名前と番号の 2 つの列があります。
テーブル A でフラグ列の値が変更された場合、テーブル A と同じ名前と番号の値を持つレコードをテーブル B に挿入する必要があります。
どうすればこれを達成できますか?
これは、トリガーを使用して実現できます。
トリガーは、データベースに格納され、何かが発生したときに暗黙的に実行または起動されるプロシージャです。
特定のテーブルまたはビューに対して INSERT、UPDATE、または DELETE 操作が実行されるたびに起動するトリガーを作成できます。
一般的な構文:
CREATE TRIGGER WRITE_TRIGGER_NAME_HERE
BEFORE UPDATE ON TABLE_A
FOR EACH ROW
BEGIN
WRITE_INSERT_STATEMENT_HERE_FOR_TABLE_B
END;