在Ruby中将Oracle结果集放入可打印数组的最简洁方法是什么?

时间:2013-03-22 23:21:41

标签: ruby oracle

这是使用Ruby从Oracle获得结果的最简洁方法吗?

require 'oci8'
results_array = Array.new
oci.exec('select column_a from table_a') do |row|
  results_array.push(row)
end
results_array.each do |result|
  puts result
end

我希望看到更简洁的内容,例如:

require 'oci8'
results_array = oci.exec('select column_a from table_a')
puts results_array

但是当我尝试这个时,我收到了一个Oracle Cursor错误。

1 个答案:

答案 0 :(得分:2)

如果您只想puts行:

oci.exec('select column_a from table_a') { |row| puts row}

如果你想构建一个数组,以便以后保留它:

results_array = []
oci.exec('select column_a from table_a') { |row| results_array << row }
puts results_array.join("\n")

希望这会有所帮助:)