2012-02-25 2 views
1

Это последующий до Convert sqlalchemy core statements to raw SQL without a connection?. Я хотел бы использовать insert с именованными аргументами, но не выполняя их через SQLA.Компиляция операторов sqlalchemy с именованными параметрами

У меня есть заявление вставки определяется как например:

table = Table("table", meta_data, 
      Column("id", Integer, auto_increment=True, primary_key=1), 
      Column("name", String), 
      Column("full_name", String)) 
params = {"full_name": "some_name", "name": "some_other_name"} 
stmt = sqlalchemy.sql.expression.insert(table).values(params) 
c_stmt = stmt.compile(dialect=dialect) 

я позже выполнить это заявление через соединение DBAPI. Как я могу гарантировать, что позиция между сгенерированной строкой sql и моим набором параметров согласована?

ответ

0

Большинство SQL-движков (все?) Поддерживают именованные параметры связывания, а также позиционные параметры, а SA предоставляет интерфейс (, смешно) для этого. У SA Docs есть раздел с примерами, которые, вероятно, будут служить вашим потребностям. Конечно, примеры предполагают, что вы выполняете запросы с помощью SA, поэтому вам нужно будет их интерпретировать для вашего случая использования.

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