В транзакции нельзя делать SELECT? или почему тут ошибка? BEGIN; SAVEPOINT my_savepoint; BEGIN SELECT haircut_work.id AS haircut_id, haircut.name AS haircut_name, client.fullname AS client_name, client.gender AS client_gender, haircut_work.execution_date FROM haircut_work JOIN haircut ON haircut_work.fk_haircut_id = haircut.id JOIN client ON haircut_work.fk_client_id = client.id WHERE client.gender = false AND haircut_work.fk_client_id IN ( SELECT fk_client_id FROM haircut_work GROUP BY fk_client_id HAVING COUNT(*) < 2 ); EXCEPTION WHEN others THEN ROLLBACK TO my_savepoint; -- Откат к точке сохранения в случае ошибки END; COMMIT; -- Фиксация транзакции
Неправильно оформлен анонимный блок
хм какая то поммесь SQL и plPGSQL транзакции вообще не причем
текст ошибки какой?
что исправить?
на селект ругается
текст. ошибки. какой?
Просто скиньте ошибку
ERROR: ОШИБКА: ошибка синтаксиса (примерное положение: "SELECT") LINE 6: SELECT ^ SQL state: 42601 Character: 45
кажется, это не полный sql запрос?
а, sql выше, а зачем там второй раз begin? перед селетком
Это попытка написать анонимный блок, судя по всему. Чтобы использовать блок Exception.
да нужен DO но он сразу исключит использованиие вншнеuо savepoint ) вообщще у автора странная консттрукция
Полный я скинул
а самый простой вопрос - зачем при select вообще ROLLBACK TO my_savepoint;))))))
Клоуны, вы можете написать как нужно сделать? А то уже не смешно как все подходят тухлый помидор кинуть
Начнем с первого BEGIN ; точка с запятой - лишняя Далее - количество END; должно равняться количеству BEGIN
Обсуждают сегодня