PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

SQL lấy dữ liệu ra khỏi BEGIN; ...; CHẤM DỨT; khối trong python

Postgresql thực sự không hỗ trợ trả về nhiều tập kết quả từ một lệnh duy nhất. Nếu bạn chuyển đầu vào này cho psql:

BEGIN;
SELECT ...;
END;

nó sẽ chia nhỏ phía máy khách và thực thi ba câu lệnh, chỉ câu lệnh thứ hai trả về một tập hợp kết quả.

"BEGIN" và "END" là các lệnh cấp SQL để bắt đầu / kết thúc một giao dịch. (Có thể có một giao thức cấp thấp hơn để thực hiện việc này nhưng tôi không thể nhớ). Bạn có thể không muốn phát hành chúng trực tiếp, nhưng để trình điều khiển của bạn (psycopg2) xử lý việc này. Ví dụ, với DBI của Perl, tôi chỉ định AutoCommit => 0 khi kết nối và nó ngầm đưa ra "BEGIN" trước lệnh đầu tiên của tôi; và sau đó "KẾT THÚC" (hoặc "COMMIT", v.v.) khi tôi gọi rõ ràng $ dbh-> commit; Tôi đoán DB-API của Python hoạt động khá giống như vậy, vì các hệ thống khác như JDBC cũng hoạt động ...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. NodeJS – Thêm mảng chuỗi trong truy vấn PostgreSQL

  2. Xác thực người dùng và mật khẩu PostgreSQL mà không cần cơ sở dữ liệu

  3. Tôi có thể sử dụng từ khóa Postgres làm bí danh trong danh sách được chọn không?

  4. Làm cách nào để lấy danh sách tên trình tự trong Postgres?

  5. Cách dễ nhất để tắt tiếng từ quá dài để được lập chỉ mục các thông báo trong PostgreSQL