PostgreSQLでマルチバリューアップを行うことは可能ですか?私は多値の挿入物が存在することを知っています、もしキーが侵害された場合に更新を実行するために "ON CONFLICT"キーワードがあります...しかし、それを一緒にすることは可能ですか?何かがそうであるように...PostgreSQLのマルチバリューアップサイズ
INSERT INTO table1(col1, col2) VALUES (1, 'foo'), (2,'bar'), (3,'baz')
ON CONFLICT ON CONSTRAINT theConstraint DO
UPDATE SET (col2) = ('foo'), ('bar'), ('baz')
私はこれの無駄をgoogled、それに関して何かを見つけることができませんでした。
私はpg-promiseを利用しているアプリがあり、バッチ処理を行っています。それは動作しますが、恐ろしく遅いです(5秒ごとに50行目など)。バッチ処理をやめて、この複数値upsertクエリを正しく構築すると、パフォーマンスが向上する可能性があると私は思いました。
編集: まあ...私はそれを自分で試しただけで、うまくいきません。私がそれを間違ってやっていない限り。だから私の質問が変わったと思いますが、このようなものを実装する良い方法は何ですか?
可能重複ro w Update in Node.js](http://stackoverflow.com/questions/39119922/postgresql-multi-row-updates-in-node-js) –
ありがとう、@ vitaly-t。私はこれらのテンプレートのいくつかを、以下の答えでクエリを構築するのと組み合わせて使用します。私はupsertの重要な "除外された"部分を見逃していました。そのpg-promiseライブラリの人に感謝します...それを広範に使用しており、それは絶対に素晴らしいです! – dvsoukup
これは多分あなたの質問に近いでしょう:[多列挿入pg-promise](http://stackoverflow.com/questions/37300997/multi-row-insert-with-pg-promise)。 –