powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / MySQL и транзакции
6 сообщений из 6, страница 1 из 1
MySQL и транзакции
    #38556125
Hel975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо написать маленькую процедурку с использованием транзакции, полноценного примера не нашла, хотя все вроде просто. Алгоритм такой: начинаем транзакцию, удаляем данные из таблицы 1, затем из таблицы 2 переносим данные в таблицу 1, если все ок, то commit, если ошибка, то rollback. Как в MySQL считывать ошибку при инсерте, чтобы потом сделать commit или rollback? Пишу на MSSQL, а тут понадобилось на MYSQL сделать.
...
Рейтинг: 0 / 0
MySQL и транзакции
    #38556351
Hel975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Удалось написать такую процедуру, но ругается на синтаксис. Версия MySQL 5.5, таблицы на InnoDB.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
drop procedure if exists sp_TransferBufToSvcus


create procedure sp_TransferBufToSvcus(OUT ret TINYINT)
begin
declare exit handler for not found rollback;
declare exit handler for sqlwarning rollback;
declare exit handler for sqlexception rollback;

set ret=0;
start transaction;

delete from svcus1 where cusnum <= 10000;

insert into svcus1
select *
from Bufsvcus;

commit;

set ret = 1;
end;
...
Рейтинг: 0 / 0
MySQL и транзакции
    #38556386
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hel975,

delimiter не забыли?
...
Рейтинг: 0 / 0
MySQL и транзакции
    #38556558
Hel975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,

Может и забыла. Куда поставить? Я же говорю, сами мы не местные, пишем на MSSQL...
...
Рейтинг: 0 / 0
MySQL и транзакции
    #38556614
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
DELIMITER @@ -- или любая другая последовательность
-- текст создания процедуры
DELIMITER ; -- восстановление ограничителя


Примеры тут
...
Рейтинг: 0 / 0
MySQL и транзакции
    #38556615
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hel975ругается на синтаксис.Даже неместные должны понимать, что сообщение об ошибке следует цитировать. Дословно. Вплоть до количества пробелов и мест перевода строк.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / MySQL и транзакции
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]