172 похожих чатов

Ребята, а в транзакции (с откатом) нельзя использовать выборку (select)?

18 ответов

17 просмотров
Memento-Mori Автор вопроса
Memento-Mori Автор вопроса

В транзакции нельзя делать 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; -- Фиксация транзакции

Memento Mori
В транзакции нельзя делать SELECT? или почему тут...

Неправильно оформлен анонимный блок

Memento Mori
В транзакции нельзя делать SELECT? или почему тут...

хм какая то поммесь SQL и plPGSQL транзакции вообще не причем

Memento-Mori Автор вопроса
Memento Mori
на селект ругается

Просто скиньте ошибку

Memento-Mori Автор вопроса
central hardware
Просто скиньте ошибку

ERROR: ОШИБКА: ошибка синтаксиса (примерное положение: "SELECT") LINE 6: SELECT ^ SQL state: 42601 Character: 45

Memento Mori
В транзакции нельзя делать SELECT? или почему тут...

а, sql выше, а зачем там второй раз begin? перед селетком

anton potapov
а, sql выше, а зачем там второй раз begin? перед с...

Это попытка написать анонимный блок, судя по всему. Чтобы использовать блок Exception.

Артём
Это попытка написать анонимный блок, судя по всему...

да нужен DO но он сразу исключит использованиие вншнеuо savepoint ) вообщще у автора странная консттрукция

Memento-Mori Автор вопроса
Memento Mori
В транзакции нельзя делать SELECT? или почему тут...

а самый простой вопрос - зачем при select вообще ROLLBACK TO my_savepoint;))))))

Memento-Mori Автор вопроса
Konstantin Zaitsev
а самый простой вопрос - зачем при select вообще ...

Клоуны, вы можете написать как нужно сделать? А то уже не смешно как все подходят тухлый помидор кинуть

Memento Mori
В транзакции нельзя делать SELECT? или почему тут...

Начнем с первого BEGIN ; точка с запятой - лишняя Далее - количество END; должно равняться количеству BEGIN

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

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
Кибер Бомж
8
Карта сайта