このOracleのバルク挿入をpostgresに相当するものに再実装しようとしています。PostgreSQLのOracleバルク挿入と同等のもの
は、現在持っている:ActiveRecordの/ postgresのを使用して同様の実装がどのように見えるか
a.each do |b|
params << [nil, b.value]
inserts << %{INSERT INTO table(a, b, c, d)
VALUES (:a1, :a2, :a3, :a4); }
end
sql = inserts.join
ActiveRecord::Base.transaction do
# insert
ActiveRecord::Base.connection.exec_update(sql, 'table', params)
end
?
私は以下のエラーに
ActiveRecord::StatementInvalid:
# ERROR: syntax error at or near ":"
# LINE 4: VALUES (:a1, :a2, :a3, :a4, :a5, :a6, :a7, :...
# ^
驚くばかりです。これはうまくいった。今問題は "params"に複数の行があることです。 ActiveRecord :: Base.connection.exec_update(sql、 'table'、params) postgressql/activerecordの一括挿入を同様の方法で実装する最も良い方法は何ですか? – Water223
PG :: SyntaxError:ERROR:プリペアドステートメントに複数のコマンドを挿入できません :INSERT INTO – Water223
@ Water223詳細を更新しました。 – harmic