Пакетная обработка данных
Назначение
Подготовка и выполнение SQL-запроса в режиме пакетной обработки.
Синтаксические правила
cursor.executemany ([,<параметры> … ]) – символьная строка <параметры> ::= <опс> | | <зпс> ::= <окс> tup1,..,tupN <зкс> ::= <опс> list1,..,listN <зпс> ::= <офс> dict1,..,dictN <офс> N – количество пакетов к обработке. <окс>::= ( <зкс>::= ) <опс>::= [ <зпс>::= [ <офс>::= { <зфс>::= } – python-элемент типа tuple (см. спецификацию языка программирования Python) – python-элемент типа list (см. спецификацию языка программирования Python) – python-элемент типа dict (см. спецификацию языка программирования Python)
Примечание
Синтаксис SQL-запросов (в том числе параметризованных) описан в документе «Справочник по SQL» (см. также атрибут paramstyle класса Connection).
Описание
Метод позволяет за один вызов подготовить SQL-запрос и затем выполнить его для всего пакета данных.
Пакет данных представляет собой массив, каждый элемент которого содержит набор значений параметров исполняемого SQL-запроса.
Значения параметров должны быть представлены в одном стиле (смешение разных типов представления не допускается).
Возвращаемое значение
Нет.
Примеры
1) передача параметров в виде python-элементов типа tuple: cursor.executemany("insert into PEOPLE (ID, NAME) values (?, ?)", [(1, "BORIS"), (2, "SASHA")])
2) передача параметров в виде python-элементов типа list: cursor.executemany("insert into PEOPLE (ID, NAME) values (?, ?)", [[1, "BORIS"], [2, "SASHA"]])
3) передача именованных параметров с помощью python-элементов типа dict: cursor.executemany("insert into PEOPLE (ID, NAME) values (:I, :N)", [{"I" : 1, "N" : "BORIS"}, {"I" : 2, "N" : "SASHA"}])