Имена схем в идентификаторах psycopg2Python

Программы на Python
Ответить
Anonymous
 Имена схем в идентификаторах psycopg2

Сообщение Anonymous »

Я хочу использовать подмодуль sql psycopg2 для написания чистого динамического SQL:

Код: Выделить всё

from psycopg2 import sql
...
cursor.execute(sql.SQL("SELECT * FROM {}").format(sql.Identifier('myschema.mytable'))
При этом создается следующий запрос:

Код: Выделить всё

SELECT * FROM "myschema.mytable"
Здесь я получаю исключение «Myschema.mytable»..

Как правильно обработать имя схемы? Следующие утверждения будут работать, но как мне создать их с помощью psycopg2?

Код: Выделить всё

SELECT * FROM myschema.mytable
SELECT * FROM myschema."mytable"
SELECT * FROM "myschema"."mytable"
редактировать: уточнен префикс схемы

Подробнее здесь: https://stackoverflow.com/questions/506 ... dentifiers
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»