PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Apakah INSERT RETURNING dijamin untuk mengembalikan barang dalam urutan yang benar?

Meskipun dokumentasinya tidak sepenuhnya jelas, ia menyatakan bahwa:

Jika perintah INSERT berisi klausa RETURNING, hasilnya akan mirip dengan pernyataan SELECT yang berisi kolom dan nilai yang ditentukan dalam daftar RETURNING, dihitung pada baris yang disisipkan oleh perintah.

Sekarang "mirip dengan" bukanlah jaminan yang ketat, dan saya telah mengangkat ini untuk diskusi di milis ... tetapi dalam praktiknya, PostgreSQL tidak akan mengacaukan urutan nilai di RETURNING . Sepertinya kami tidak akan pernah dapat melakukannya meskipun kami ingin melakukan pengoptimalan, karena terlalu banyak aplikasi yang mengandalkannya untuk diurutkan sama seperti inputnya.

Jadi... untuk INSERT INTO ... VALUES (...), (...), ... RETURNING ... dan untuk INSERT INTO ... SELECT ... ORDER BY ... RETURNING ... seharusnya aman untuk mengasumsikan bahwa relasi hasil berada dalam urutan yang sama dengan input.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah ada cara untuk mendefinisikan konstanta bernama dalam kueri PostgreSQL?

  2. Refactor kunci asing ke bidang

  3. Bagaimana cara menginstal Postgis ke instalasi Tong [dilindungi email] menggunakan Homebrew?

  4. Bagaimana Sind() Bekerja di PostgreSQL

  5. Pilih baris acak untuk setiap grup