sqlite3のSQLで新しいトリガーの作成をする方法

SQLite3で新しいトリガーを作成するには、CREATE TRIGGERステートメントを使用します。トリガーは特定のイベントがデータベースで発生したときに自動的に実行されるプログラムまたは手続きです。以下は、トリガーを作成するための基本的な構文です:

sql
CREATE TRIGGER trigger_name [BEFORE|AFTER] [INSERT|UPDATE|DELETE] ON table_name BEGIN -- トリガーのアクションをここに記述 END;

ここで、各部分の説明は以下の通りです:

  • trigger_name: トリガーの名前を指定します。
  • BEFOREまたはAFTER: トリガーの発生タイミングを指定します。BEFOREはイベントの実行前に、AFTERはイベントの実行後にトリガーが実行されます。
  • INSERTUPDATE、またはDELETE: トリガーが関連するイベントを指定します。特定のイベントが発生したときにトリガーを実行するかを選択できます。
  • table_name: トリガーが関連するテーブルの名前。
  • BEGINEND: トリガーのアクションを挟むブロックで、トリガーが実行される際に実行されるSQLステートメントを含みます。

以下は、具体的な例です:

sql
-- 新しいトリガー "update_timestamp" を作成する CREATE TRIGGER update_timestamp AFTER UPDATE ON employees FOR EACH ROW BEGIN UPDATE employees SET last_updated = CURRENT_TIMESTAMP WHERE id = NEW.id; END;

この例では、"update_timestamp"という名前の新しいトリガーを作成し、"employees"テーブルの行が更新された後に、更新された行の"last_updated"列を現在のタイムスタンプで更新するアクションを実行します。

トリガーは特定のイベントが発生したときに自動的に実行され、データベースのロジックを拡張するために使用できます。