powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Проблема с MySql delimiter
4 сообщений из 4, страница 1 из 1
Проблема с MySql delimiter
    #38645031
Здравствуйте! Пытаюсь создать триггер из своего приложения в БД. Код пишу такой:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
queryTxt = "DELIMITER  //";
		query.exec(queryTxt);
		err=query.lastError().text();
		query.finish();
		queryTxt= "CREATE TRIGGER `transitparams_trigger` BEFORE INSERT ON `transitparams` FOR EACH ROW BEGIN"
				"declare numberact, numberreport, numberresolution, numberfillinform int;"
				"if (new.category <> '1') then"
				"SELECT transitparams.actnumber, transitparams.reportnumber, transitparams.resolutionnumber, transitparams.fillinformnumber into numberact,numberreport,numberresolution, numberfillinform"
				"FROM transitparams"
				"WHERE transitparams.paramid=(select max(transitparams.paramid) from transitparams where transitparams.category <> '1');"
				"if (numberact is null) then"
				"set new.actnumber=1;"
				"set new.reportnumber=1;"
				"set new.resolutionnumber=1;"
				"set new.fillinformnumber=1;"
				"else"
				"if(new.actnumber is null) then"
				"set	new.actnumber=numberact+1;"
				"end if;"
				"if (new.reportnumber is null) then"
				"set new.reportnumber=numberreport+1;"
				"end if;"
				"if (new.resolutionnumber is null) then"
				"set new.resolutionnumber=numberresolution+1;"
				"end if;"
				"if (new.fillinformnumber is null) then"
				"set new.fillinformnumber=numberfillinform+1;"
				"end if;"
				"end if;"
				"end if;"
				"END;";
bool done = query.exec(queryTxt);


И запрос с установкой разделителя не выполняется. То есть при выполнении
Код: plaintext
1.
2.
queryTxt = "DELIMITER  //";
query.exec(queryTxt); 


я получаю ошибку:“check the manual that corresponds to your MariaDB server version for the right syntax to use near ‘DELIMITER //’”.
Когда я выполняю команду DELIMITER // через администратор, то все срабатывает отлично. В чем дело?=(((
...
Рейтинг: 0 / 0
Проблема с MySql delimiter
    #38645050
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DELIMITER - это команда консольного клиента mysql, а не SQL-команда.
Посмотрите в документации от используемой библиотеки доступа, как именно у нее нужно указывать DELIMITER.
...
Рейтинг: 0 / 0
Проблема с MySql delimiter
    #38645198
miksoft,
спасибо! я посмотрела драйвер QMYSQL для qt. Сказано, что он вообще не поддерживает команду DELIMITER и якобы задавать разделитель вообще не нужно. Но если его не задавать, то тоже выдается ошибка синтаксиса(
...
Рейтинг: 0 / 0
Проблема с MySql delimiter
    #38645261
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полина_МалинаНо если его не задавать, то тоже выдается ошибка синтаксиса(Тогда ищите в направлении создания хранимых процедур.
Наверное, это лучше у специалистов по QT спрашивать.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Проблема с MySql delimiter
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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