2012-03-26 2 views
1

Я начинаю на python. Мы используем этот код для выполнения команд SQL.подготовленные заявления с использованием psycopg

cur.execute("INSERT INTO test (num, data) VALUES (%s, %s)", (100, "abcdef")) 

Интересно, является ли это подготовленный отчет или просто ссылкой на клиентскую сторону?

+0

Смотрите здесь: http://stackoverflow.com/questions/6775497/psycopg-get- formatted-sql-in-executing – socketpair

ответ

10

Нет, это не так, не для psycopg2. «Подготовка» в документах относится к «ПОДГОТОВКАМ ПЕРЕДАЧИ», который полностью отличается от подготовленного заявления.

Вы можете эмулировать подготовленный оператор путем переопределения методов или выполнения дополнительных инструкций. См: An example of psycopg2 cursor supporting prepared statements

Пожалуйста, см: relevant blog entry for psycopg.

Дополнительная информация:

http://www.postgresql.org/docs/9.2/static/sql-prepare.html
http://www.postgresql.org/docs/current/static/sql-prepare-transaction.html

-2

В соответствии с the docs метод выполнения будет «Подготовить и выполнить операцию базы данных (запрос или команду)». Так что да, это подготовленное заявление.

+8

На самом деле в данный момент это не так. «Подготовка» в этой документации относится к вызову «ПОДГОТОВКА ПЕРЕДАЧИ», требуемому для двухфазного коммита, а не предварительно скомпилированного оператора SQL. – Brian

Смежные вопросы