create procedure loop_insert(in x int, in y int) begin declare max_id int; declare i int; set i = 0; set max_id = y; while i < x do set i = i + 1; insert into db.m_table(ProductID, LastUpdatedBy) values(max_id + i , 'hoge'); end while; end
少し長いクエリ文になってしまいましたが以上のような関数をストアドプロシージャに定義した際、create procedure loop_insert(in x int, in y int)
の部分に
create procedure loop_insert(in x int, in y int, in z string)
のような形で引数を取りinsert into db.m_table
の部分をinsert into z
のような形でdb名.テーブル名のようにテーブル名を与えたいのですがどうすればよいでしょうか。
宜しくお願い致します。
変更後
delimiter // create procedure loop_insert_data(in x int, in y int, in z varchar(60)) begin declare max_id int; declare i int; declare tablename varchar(60); set i = 0; set max_id = y; set @tablename = z; while i < x do set i = i + 1; insert into tablename(ProductID, LastUpdatedBy) values(max_id + i , '2068'); end while; end

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/12 03:56
2018/12/12 04:02