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

SQL mengeluarkan data dari BEGIN; ...; AKHIR; blokir dengan python

Postgresql sebenarnya tidak mendukung pengembalian beberapa set hasil dari satu perintah. Jika Anda meneruskan input ini ke psql:

BEGIN;
SELECT ...;
END;

itu akan membagi sisi klien ini dan benar-benar mengeksekusi tiga pernyataan, hanya yang kedua yang mengembalikan kumpulan hasil.

"BEGIN" dan "END" adalah perintah tingkat SQL untuk memulai/menyelesaikan transaksi. (Mungkin ada protokol tingkat yang lebih rendah untuk melakukan ini, tetapi saya tidak ingat). Anda mungkin tidak ingin mengeluarkannya secara langsung, tetapi meminta driver Anda (psycopg2) menangani ini. Misalnya, dengan DBI Perl saya menentukan AutoCommit=>0 saat menghubungkan dan secara implisit mengeluarkan "BEGIN" sebelum perintah pertama saya; dan kemudian "END" (atau "COMMIT" dll) ketika saya secara eksplisit memanggil $dbh->commit; Saya kira DB-API Python bekerja seperti ini, karena sistem lain seperti JDBC juga melakukannya...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. kesalahan multiparameter dengan datetime_select

  2. Driver QPSQL tidak dimuat Qt

  3. Haruskah saya memiliki direktori Postgres saya tepat di sebelah folder proyek saya? Jika demikian, bagaimana?

  4. Permintaan SQL untuk mencocokkan salah satu dari beberapa string

  5. Susunan yang lebih kuat dengan dukungan ICU di PostgreSQL 10