BEGIN;
DELETE FROM public."RubricaNames" WHERE "Id"=20;
DELETE FROM public."Rubricator" WHERE "Group"=20;
DELETE FROM public."Client2Rubrica" WHERE "Rubrica"=20;
COMMIT;
Получается только вот так (проверки все опустил):
QSqlQuery *Query = new QSqlQuery(Global.DataBase);
Global.DataBase.transaction();
Query->prepare("DELETE FROM public.\"RubricaNames\" WHERE \"Id\"=:Id;");
Query->bindValue(":Id", QString::number(20));
Query->exec();
Query->prepare("DELETE FROM public.\"Rubricator\" WHERE \"Group\"=:Id;");
Query->bindValue(":Id", QString::number(20));
Query->exec();
Query->prepare("DELETE FROM public.\"Client2Rubrica\" WHERE \"Rubrica\"=:Id;");
Query->bindValue(":Id",QString::number(20));
Global.DataBase.commit();
Не могу выполнить все три DELETE одним запросом
Если пытаюсь все три DELETE написать одним запросом:
QSqlQuery *Query = new QSqlQuery(Global.DataBase);
Global.DataBase.transaction();
Query->prepare("DELETE FROM public.\"RubricaNames\" WHERE \"Id\"=:Id1; "
"DELETE FROM public.\"Rubricator\" WHERE \"Group\"=:Id2; "
"DELETE FROM public.\"Client2Rubrica\" WHERE \"Rubrica\"=:Id3; "
");
Query->bindValue(":Id1", QString::number(20));
Query->bindValue(":Id2", QString::number(20));
Query->bindValue(":Id3", QString::number(20));
Query->exec();
Global.DataBase.commit();
... кричит об ошибке синтаксиса, в чем мой косяк, где почитать?