 |

|
徹底比較!! PostgreSQL vs MySQLパート2 |
第7回:トリガ
著者:NTTデータ 藤塚 勤也 2007/9/20
|
|
|
1 2 3 4 次のページ
|
 |
はじめに
|
「第6回:ストアドプロシージャ」では、データベースサーバ内で動作するアプリケーションとしてストアドプロシージャを取り上げました。このストアドプロシージャと同様に、データベースサーバ内で動作するアプリケーションの代表格に「トリガ」があります。
そこで今回はこのトリガを取り上げ、PostgreSQLとMySQLの違いを説明します。
|
トリガとは
|
「トリガ」とは、データベースに対して何らかの処理が加えられたときに、その処理をきっかけとして事前に用意したプログラムを自動的に起動する機能およびそのプログラムのことです。トリガは特殊なストアドプロシージャの一種で、処理の内容と起動する条件、実行するタイミングなどを指定し、設定を行います。
実はこれまでトリガを使用できたのはPostgreSQLで、MySQLでは使用できないといわれていました。しかしストアドプロシージャと同様に、MySQLのバージョン5.0においてトリガが使用できるようになったのです。
|
トリガの仕様比較
|
トリガに関わるいくつかの仕様についてPostgreSQLとMySQLのサポート状況を表1に記します。
仕様項目 |
PostgreSQL |
MySQL |
開発言語 |
C言語、PL/pgSQLなどのいくつかの手続き言語 |
拡張SQL文のみ |
対応SQL文の種類 |
INSERT、UPDATE、DELETE、同時に複数指定可能 |
INSERT、UPDATE、DELETE |
行単位/文単位 |
共に設定可能 |
行単位のみ |
BEFORE/AFTER |
共に使用可能 |
共に使用可能 |
NEW・OLD演算子 |
使用可能 |
使用可能 |
カスケードの制限 |
制限設定不可 |
制限設定不可 |
処理と定義の分離 |
可能 |
工夫することにより可能 |
表1:トリガの各種仕様
では、それぞれの仕様項目について説明していきます。
|
1 2 3 4 次のページ
|

|
|

|
著者プロフィール
株式会社NTTデータ 藤塚 勤也
基盤システム事業本部 オープンソース開発センタ シニアスペシャリスト。
日本タンデムコンピューターズ(現日本HP)を経て、2003年よりNTTデータにてOSS分野に参画。日頃はオリジナルOSSの開発や、OSSを用いたシステム構築への技術支援に従事。「RDBMS解剖学」(翔泳社)を共著。
|
|
|
|