新鮮

頑張らないために頑張る

MySQL勉強、ストアド系を概要レベルで

データベース系の資格といえば ORACLE MASTER が有名だが、実は MySQL にも ORACLE MASTER 相当の資格がある。

  • (1Z0-882) Oracle Certified Professional, MySQL 5.6 Developer
  • (1Z0-883) Oracle Certified Professional, MySQL 5.6 Database Administrator

諸般の事情で MySQL 5.6 Developer をとらなければならなくなったので学習メモを残しておく。資格勉強をする方や MySQL を利用する方の参考になれば。

今回は「ストアドルーチン」。

 

一般的には DBMS で業務ロジックを実装することはそれほどないが、試験用に知識としてはおさえておく必要はあるので概要レベルでまとめる。

 

ストアド 契機 備考
trigger insert,update,delete ins で old はダメ, del で new はダメ
procedure call 引数で in, out, inout を指定
function 関数として実行 create function ... returns [型]

 

  • sql_mode : 作成時のモードになる。(実行時の sql_mode ではない)
  • trigger : 作成時に old は使えず、削除時に new は使えない。
  • procedure : 引数で in, out, inout を指定すること
  • function : returns 句で返りの型を指定すること

 

エラーハンドリングは例外ハンドラを指定する。

-- カーソル最終行に達したら done=1 をセットする
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1;

手続き型だし方言が強いのであまり使いたくない。