Rails4でMysql2を利用している前提で。
class MyModel < ActiveRecord::Base
def get_client
params = ActiveRecord::Base.configurations[Rails.env.to_s].symbolize_keys
return Mysql2::Client.new(params)
end
def test_query
query =<<SQL
set @p=200;
set @c=0;
select @p, @c;
SQL
client = get_client
# client.query("set @p=200; set @c=0; select @p, @c")とすると構文エラーになってしまうため、1行ずつ実行する
queries = query.split(/;/)
queries.each do |line|
result = client.query(line)
end
result.first # {"@p"=>200, "@c"=>0}
end
end