DELETE」(3行目)のように複数指定でき、「トリガ起動条件述語」(9行目の「INSERTING」、12行目の「UPDATING」、15行目の「DELETING」)によって起動条件に対応する処理を記述できます。MySQLには、「トリガ起動条件の複数指定」ができず、「トリガ起動条件述語」がないため、トリガの移行を実施する場合には、起動条件ごとにトリガを分割する必要があります。「トリガ起動条件の複数指定」「トリガ起動条件述語」が存在するトリガは、本システムでは約50オブジェクトあり、移行コストは、「中程度」と評価しました。評価4「PL/SQL独自属性」に関する評価結果PL/SQL独自属性については、第6回の評価1:「PL/SQL独自属性」に関する評価結果を参照してください。DATETIME;代替関数なし。個々の変数の修正は容易ですが修正箇所が多いため、移行コストは「中程度」となります。DATETIME;代替関数なし。本システムでは、「%ROWTYPE」は使用されていないため、移行コストは、0と評価しました。評価5「PL/SQLデータ型」に関する評価結果OracleのPL/SQLは、Oracleデータ型とは別に独自のデータ型を使用してコーディングを行います。前述した手順2でトリガのソースコードでコーディングされているPL/SQLデータ型の使用状況を調べたところ、「CHAR型」「VARCHAR2型」「NUMBER型」「DATA型」が実装されていました。それぞれを個別に評価します。留意する必要がありますが、本システムで調査した結果、CHAR(256)以上の指定がなかったので、移行コストは「低い」と評価しました。MySQLは、0バイト文字列を認識するのでカラムのNULL判断方法に留意する必要があります。移行コストは「低」VARCHAR型については、PL/SQLよりもMySQLの方が表現できるバイト数が大きいため、特に工夫なく移行が行えます。移行コストは「低い」と評価しました。CHAR型と同様MySQLは、0バイト文字列を認識するので、カラムのNULL判断方法に留意する必要があります。移行コストは「低」PL/SQLでのNUMBER型は、MySQLでのDECIMAL型で不足なく表現できるので、一般的に移行コストは「低い」と評価しました。移行コストは「低」DATE型では、西暦1000年1月1日0時0分0秒より「前」の日付データが、トリガの処理中に格納される場合にはDATETIME型は利用できません。本システムでは、そのような日付データは利用していなかったので、移行コストは「低」と評価しました。ちなみに、PL/SQLのデータ型における「TIMESTAMP型」の場合も、小数点以下6桁秒までのデータならばMySQLのDATETIME型への移行が可能です。一般的にOracleのトリガでは、「PL/SQLパッケージ」といわれるPL/SQL独自の関数はあまり使われません。本システムでは、トリガのソースコードにPL/SQLパッケージは、使用していないため、PL/SQLパッケージの移行コストは、0と評価しました。(仮名)はあくまで架空の会社ですが、SCSKが携わったシステムでも、同じようなトリガを利用しているシステムは、非常に多くあります。手順3において参考に提示した「自動採番専用トリガ」「トリガ起動条件の複数指定」「トリガ起動条件述語」は使用頻度が高いDMLトリガのコーディング例です。類似のコーディングを使用されている場合は、ぜひ本章を参考に移行の難易度を評価してください。Clusterのコンサルティング、設計構築、プリセールスなどを行っていたが、最近は営業やマーケティング活動もカバーするようになり、技術が分かる営業として日本国内を縦断中。1983年よりIT業界へ。その間Oracleを中心とした、DB関連作業を多数経験。DBの移行を得意とする。趣味は自己チューニング(水泳、マラソン、筋トレ)及び愛犬アポロ(チワワ)と遊ぶこと。データベースの設計構築や技術サポート業務に従事。RACなどの構築にも携わる。趣味はスノーボード、スキューバダイビング、海外旅行など。Databaseをやめる」かの選択が迫られています。本連載では、商用DBMSからOSSデータベースへの移行を検討する企業に向け、「MySQL」への移行プロジェクトで必要となる具体的なノウハウをお届けします。初回は、本連載を展開する背景を説明します。MySQLの「気になるウワサ」はどこまで本当?Webの世界で人気の高いオープンソースRDB「MySQL」は、振り返ると買収や分岐など、運命に翻弄されてきましたが、中には正しくない話も出回っているようです。あの話は、本当ですか?MySQL+Apache+PHPをインストールしよう本連載は、これからWebアプリケーション開発を習得しようとする方や本格的なプログラミング経験の少ない方を対象にしています。連載途中から始まるサンプルWebアプリケーション(簡単なショッピングサイト)開発を進めていきながら、基本事項や注意点などについて詳しく解説していきます。OSSデータベースのMySQLとPostgreSQLは「次の段階」へ進むオープンソースデータベースの両雄、MySQLとPostgreSQLはどちらも近々大きく変化を遂げそうです。公式発表前ですが、現在入手できる情報から「来たるべき進化」を考えます。MySQL編、ソースからビルドすべきか?今回から、オープンソースのRDBMSである「MySQL」の環境構築に話題を移します。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。