PG :: TextEncoder :: Array用于批量插入?

时间:2019-01-24 17:55:42

标签: ruby postgresql pg

我需要为PostgreSQL中的ruby构建一些批量插入。我可以构建ruby array,但不确定如何进行sql syntax。我可以从语法上构建它,但是我必须转义一些引起我的引用混乱的插入内容,尤其是当在string interpolation的双引号系统内使用单引号进行限制时。

我绊倒了PG gem,因为我想我曾经以某种方式使用过它,但不记得了。我可以将ruby array传递给PG::TextEncoder::Array并使用它吗?我担心这些字段的值不能正确地转义。

已编辑:找到了半解决方案

enco = PG::TextEncoder::CopyRow.new
conn.copy_data "COPY my_table FROM STDIN", enco do
  conn.put_copy_data ['some', 'data', 'to', 'copy']
  conn.put_copy_data ['more', 'data', 'to', 'copy']
end

我必须遍历我的array项,并通过上述结构传递每个内部项array。这不是解决方案的全部内容,但可以解决我的问题。

0 个答案:

没有答案