プログラマメモ2 - programmer no memo2

mysqlでストアドプロシージャ 2012/09/22

mysqlでストアドです。
まずストアドプロシージャのリストを表示は以下で

show procedure status;

参考


まずひながた、これはコマンドに流すsqlを想定しています。
作成してストアドを作成して実行して、実行したプロシージャを削除するというふうにしてます。

実行は以下
$ mysql5 -u root work < test.sql

ひながた。
delimiterの必要性がいまいちわかってないけど。で、以下のコードは信頼性という意味ではちとまずくて、createできて、実行時にエラーがでるとcreateしっぱなしなので、一番最後のdrop procedureが効かないです。

DROP PROCEDURE IF EXISTS p;
delimiter //
CREATE PROCEDURE p()
BEGIN
    SELECT * FROM c;
END
//
CALL p();-- ここで実行
DROP PROCEDURE IF EXISTS p;


参考
oracle 3.2.3 ストアド・プロシージャでのエラー処理

: