SSブログ

MS AccessでBEFOREトリガー [Accessクエリ]

本日も昨日に続き、MS Accessトリガの話題である。

MS AccessでINSERT、DELETE、UPDATEのAFTERトリガを作成することに成功した。SQL命令でトリガの中身を書くことができないので、なんとももどかしい感じである。

前の記事
MS Accessでトリガー

しかし、テキストで命令を書いていくプログラミングに不慣れな方にとっては、GUI画面でマクロを組んでいく、という方法が好まれていると思われる。

トリガーのBEFORE/AFTER

それは、さておき、先日紹介できなかった、BEFOREトリガについて解説しようと思う。
AFTERトリガは、レコードの追加、削除、更新のデータベース処理後に発生する。レコードの追加トリガは、INSERT命令が実行された後にイベントが上がり発火する。
DELETEトリガはDELETE命令の実行後、UPDATEトリガはUPDATE命令の実行後。

これらのAFTERトリガで処理すべき内容は、データの整合性を保持するようなものやログ的なものになるであろう。データの整合性は、外部参照整合制約(外部キー)を作成しておけばある程度は自動化できる。外部キーを使えないような特殊な場合とか、データベースアクセスの履歴を常に保存しておきたい、とか、データのバックアップを自動的にやりたいとか、そういった用途にAFTERトリガが使用される。

BEFOREトリガでは、これもまた、データの整合性を保持するような機能を実現できる。ログ的な用途で使用してもよいが、あまり使用されないと思う。
AFTERトリガでは、データベース操作をエラーで終了させることはできない。なぜなら、データベース操作処理が終わってしまってから呼び出されるものだから。
BEFOREトリガは、データベース操作処理の前に先立って呼び出されるので、そこでエラーチェックすることができる。不正値が与えられたら、データベース操作をエラーで終わらせることができるのである。

変更前トリガ

変更前トリガを以下のように作成したみた。

Access変更前トリガー.png

これで、fooテーブルのb列を、999、9999、99999の何れかの値で更新をかけようとするとエラーが発生するようになる。

Access変更前トリガでエラー.png

削除前トリガ

同じ要領で削除前トリガを作成。

Access削除前トリガ.png

これで、fooテーブルのb列が、1、2、3の何れかの値であるレコードを削除しようとするとエラーとなり、削除できなくなる。

Access削除前トリガでエラー.png

Accessでもトリガを作成できることがわかった。
しかしながら、SQLのCREATE TRIGGER命令は使用しないし、トリガの中身をSQLで記述することもできないので、Accessでは、SQLを使ってトリガを作成することはできない、ということにしておく。
SQLポケリは更新しないとですね。



Access クエリ 徹底活用ガイド ~仕事の現場で即使える

Access クエリ 徹底活用ガイド ~仕事の現場で即使える

  • 作者: 朝井 淳
  • 出版社/メーカー: 技術評論社
  • 発売日: 2018/05/25
  • メディア: 大型本





サイト内を検索

nice!(0)  コメント(0) 
共通テーマ:携帯コンテンツ

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。



Copyright Atsushi Asai Google+朝井淳
[改訂第4版]SQLポケットリファレンス

[改訂第4版]SQLポケットリファレンス

  • 作者: 朝井 淳
  • 出版社/メーカー: 技術評論社
  • 発売日: 2017/02/18
  • メディア: 単行本(ソフトカバー)

イラストで理解 SQL はじめて入門

イラストで理解 SQL はじめて入門

  • 作者: 朝井 淳
  • 出版社/メーカー: 技術評論社
  • 発売日: 2019/05/16
  • メディア: 単行本(ソフトカバー)

[データベースの気持ちがわかる]SQLはじめの一歩 (WEB+DB PRESS plus)

[データベースの気持ちがわかる]SQLはじめの一歩 (WEB+DB PRESS plus)

  • 作者: 朝井 淳
  • 出版社/メーカー: 技術評論社
  • 発売日: 2015/03/03
  • メディア: 単行本(ソフトカバー)

Access クエリ 徹底活用ガイド ~仕事の現場で即使える

Access クエリ 徹底活用ガイド ~仕事の現場で即使える

  • 作者: 朝井 淳
  • 出版社/メーカー: 技術評論社
  • 発売日: 2018/05/25
  • メディア: 大型本

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。