Задать вопрос
@AltLumad

UniDac + PostgreSQL Как выполненить несколько Insert'ов в рамках одного ExecSQL()?

Есть TUniConnection, TPostgreSQLUniProvider, TUniQuery
Код примерно следующий:

Q->SQL->Text = " insert into tbl_A (colum1,column2) values(1,1); \r\n"
                             " insert into tbl_A (colum1,column2) values(2,2); \r\n"
                             " insert into tbl_A (colum1,column2) values(3,3); ";
  Q->ExecSQL();

При выполнении скрипта возникает ошибка "В подготовленный оператор нельзя вставить несколько команд".
Если выполнить каждый из этих инсертов по отдельности то проблем нет. Но такой вариант мне не подходит.
Подскажите как выполнить этот скрипт в рамках одной команды на выполнение.
  • Вопрос задан
  • 1297 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Нетология
    Специалист по информационной безопасности + нейросети
    12 месяцев
    Далее
  • Компьютерная академия «TOP»
    Учебная программа “Разработка программного обеспечения”
    30 месяцев
    Далее
Решения вопроса 1
@AltLumad Автор вопроса
Есть компонент TUniScript, он прекрасно справляется с такой задачей.
Работать с ним надо аналогично как с TUniQuery.
Код следующий:
UniScript->SQL->Text = " insert into tbl_A (colum1,column2) values(1,1); \r\n"
                             " insert into tbl_A (colum1,column2) values(2,2); \r\n"
                             " insert into tbl_A (colum1,column2) values(3,3); ";
UniScript->Execute();
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы