PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

SQL извлича данни от BEGIN; ...; КРАЙ; блок в python

Postgresql всъщност не поддържа връщане на множество набори от резултати от една команда. Ако предадете този вход на psql:

BEGIN;
SELECT ...;
END;

той ще раздели това от страна на клиента и всъщност ще изпълни три оператора, само вторият от които връща набор от резултати.

„BEGIN“ и „END“ са команди на ниво SQL за стартиране/завършване на транзакция. (Може да има протокол от по-ниско ниво за извършване на това, но не мога да си спомня). Вероятно не искате да ги издавате директно, а по-скоро вашият драйвер (psycopg2) да се справи с това. Например, с DBI на Perl указвам AutoCommit=>0 при свързване и той имплицитно издава "BEGIN" преди първата ми команда; и след това "END" (или "COMMIT" и т.н.), когато изрично извикам $dbh->commit; Предполагам, че DB-API на Python работи по-скоро по този начин, тъй като други системи като JDBC го правят също...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Грешка:Импортиране на база данни на Postgres в докер контейнер

  2. импортиране на osm файл в база данни postgres/postgis

  3. Как мога да настроя пътя за приложението heroku postgresql?

  4. свързване на postgresql и codeigniter

  5. как да поставим префикс на низ преди последователност, генерирана от postgresql?