2009年4月23日木曜日

MySQL のストアドプロシージャ

MySQL のストアドプロシージャを利用するためのコマンド類。
  1. -- 区切り文字を変更する  
  2. -- ※スクリプト中のセンテンスの終了に「;」を使用するため、変更する。  
  3. DELIMITER //  
  4.   
  5. -- ストアドプロシージャの作成  
  6. CREATE PROCEDURE my_proc1()  
  7. BEGIN   
  8.   SELECT my_id, my_name FROM my_table;  
  9. END  
  10. //  
  11.   
  12. -- ストアドプロシージャの呼び出し  
  13. CALL my_proc1()  
  14. //  
  15.   
  16. -- 戻り値つきストアドプロシージャ  
  17. CREATE PROCEDURE my_proc2(OUT param1 INT)  
  18. BEGIN  
  19.   SELECT COUNT(*) INTO param1 FROM my_table;  
  20. END  
  21. //  
  22.   
  23. -- 戻り値つきストアドプロシージャの呼び出し  
  24. CALL my_proc2(@a)  
  25. //  
  26.   
  27. -- 戻り値の確認  
  28. SELECT @a  
  29.   
  30. -- 引数つきストアドプロシージャ  
  31. -- 文字列を結合する  
  32. CREATE PROCEDURE my_proc3(IN param1 VARCHAR(50), OUT param2 VARCHAR(50))  
  33. BEGIN   
  34.   SELECT CONCAT('Hello, ', param1,'!'INTO param2;  
  35. END  
  36. //  
  37.   
  38. -- 引数つきストアドプロシージャの呼び出し  
  39. CALL my_proc3('world', @a)  
  40. //  
  41.   
  42. -- 作成したプロシージャの確認  
  43. SHOW PROCEDURE STATUS  
  44. //  
  45.   
  46. -- 作成したプロシージャの内容確認  
  47. SHOW CREATE PROCEDURE my_proc1  
  48. //  
  49.   
  50. -- 作成したプロシージャの削除  
  51. DROP PROCEDURE my_proc1  
  52. //  

0 件のコメント:

コメントを投稿