- July 23, 2007 12:46 PM
MySQLではStored ProcedureとStored Functionを、まとめてStored Routineと呼んでいる。
ストアドプロシージャ
これから作成するストアドプロシージャがすでにある場合は削除
ストアドファンクション
これから作成するストアドファンクションがすでにある場合は削除
- ストアドプロシージャ
- CALLで呼び出し
- OUTPUT変数で値のやりとりができる
- ストアドファンクション
- SELECTで呼び出し
- 必ず値を返す
ストアドプロシージャ
これから作成するストアドプロシージャがすでにある場合は削除
use test;ストアドプロシージャの作成
drop procedure param_proc_one if exists param_proc_one;
create procedure param_proc_one(in param1 int, out param2 int, inout param3 int)パラメータの設定
select param1, param2, param3;
set @value1=10, @value2=200, @value3=300;ストアドプロシージャの呼び出し
call param_proc_one(@value1, @value2, @value3);これから作成するストアドプロシージャがすでにある場合は削除
drop procedure param_proc_two if exists param_proc_two;
ストアドプロシージャの作成
create procedure param_proc_two(in param1 int, out param2 int, inout param3 int)
set param1=1, param2=2, param3=3;
ストアドプロシージャの呼び出し
call param_proc_two(@value1, @value2, @value3);
パラメータの変化を確認
select @value1, @value2, @value3;
ストアドファンクション
これから作成するストアドファンクションがすでにある場合は削除
ストアドファンクションの作成drop function hello1 if exists hello1;
create function hello1(input char(20)) returns char(50) return concat('Hello, ', input, '!');
ストアドファンクションの呼び出し
select hello1('tttttttttttt');