• ベストアンサー

ストアドプロシージャの作成

MySQLでストアドプロシージャを作成しようと試みているのですが、 分からない事があります。 引数に、テーブルのカラムを指定したいんです。 具体的には、 func(column1, 100) などとして、 select * from table where finc func(column1, 100) > 1000 tableのcolumn1には数字が入っていて、引数の100と計算をして、 1000より大きい結果を返す・・・ みたいな感じです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

何が分からなくて、どう困っているのか具体的に書いてください。 【関数の定義例】 delimiter // create function ex1(clm_data int,inc_data int) returns int begin return clm_data+inc_data; end; // delimiter ; 【表定義&データ例】 create table t1(c1 int); insert into t1 values(100),(1000),(10000); 【関数の呼び出し例】 select * from t1 where ex1(c1,100)>1000;

sattakah_goo
質問者

補足

回答ありがとうございます。 すごく勘違いしていた気がします・・・ 関数の引数にカラムの値を渡したい場合は、実際に使用する時に select * from t1 where ex1(c1,100)>1000; と書くだけだったのですね。。 てっきり、あらかじめ関数を定義する際に、 create function ex1(clm_data int,inc_data int) のclm_dataに、t1.c1を定義しなくてはならないのかと・・・ もう一度試してみます。ありがとうございました。

関連するQ&A