Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как выполнить триггер в процедуре и через PREPARE? / 14 сообщений из 14, страница 1 из 1
11.10.2018, 15:26
    #39716195
superpupervest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить триггер в процедуре и через PREPARE?
Подскажите, пожалуйста. Делаю так

Но, что-то не выходит, даже вне процедуры

SET @var = concat('DELIMITER | DROP TRIGGER IF EXISTS `trig`; CREATE TRIGGER `trig` BEFORE INSERT ON `table` FOR EACH ROW BEGIN IF (select count(*) from `table`)>99 THEN SIGNAL SQLSTATE \'45000\';END IF;END|');
PREPARE zxc FROM @var;
EXECUTE zxc;

Хотя так работает

DELIMITER | DROP TRIGGER IF EXISTS `trig`; CREATE TRIGGER `trig` BEFORE INSERT ON `table` FOR EACH ROW BEGIN IF (select count(*) from `table`)>99 THEN SIGNAL SQLSTATE '45000';END IF;END|

Подскажите, пожалуйста. В чем беда?
...
Рейтинг: 0 / 0
11.10.2018, 15:42
    #39716206
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить триггер в процедуре и через PREPARE?
superpupervest,
подумай хорошенько что ты делаешь!!!
по простому твоё художество называется масло-масленное.....
...
Рейтинг: 0 / 0
11.10.2018, 15:46
    #39716209
superpupervest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить триггер в процедуре и через PREPARE?
вадя, это не ответ. Мне нужно решение.
...
Рейтинг: 0 / 0
11.10.2018, 15:59
    #39716215
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить триггер в процедуре и через PREPARE?
superpupervestтак работаетНе, не должно... не верю.

superpupervestчто-то не выходитЕщё бы! CREATE TRIGGER не входит в список допустимых для Prepared statement. SQL Syntax Allowed in Prepared Statements .
...
Рейтинг: 0 / 0
11.10.2018, 16:00
    #39716217
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить триггер в процедуре и через PREPARE?
superpupervestМне нужно решение.Тогда формулируйте задачу, а не то, как её, по Вашему мнению (к слову - ошибочному), следует решать.
...
Рейтинг: 0 / 0
11.10.2018, 16:05
    #39716221
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить триггер в процедуре и через PREPARE?
superpupervest,

Читайте документацию по тем словам, которые пишете в коде.
1. Нет SQL-команды delimiter.
2. В prepared statement нельзя удалять и создавать триггера.
...
Рейтинг: 0 / 0
11.10.2018, 16:09
    #39716227
superpupervest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить триггер в процедуре и через PREPARE?
Akina,

Должно и работает. С чего это не должно?
...
Рейтинг: 0 / 0
11.10.2018, 16:10
    #39716230
superpupervest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить триггер в процедуре и через PREPARE?
Я понял, в Prepare нельзя создавать DELIMITER. Тогда вопрос, как запустить триггер в процедуре. Т.е. я создаю таблицы через цикл и мне нужно, чтобы при определенных условиях к таблице добавлялся триггер
...
Рейтинг: 0 / 0
11.10.2018, 16:15
    #39716232
superpupervest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить триггер в процедуре и через PREPARE?
Точнее мне надо создать триггер в процедуре
...
Рейтинг: 0 / 0
11.10.2018, 16:31
    #39716244
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить триггер в процедуре и через PREPARE?
superpupervestДолжно и работает.Не верю!
...
Рейтинг: 0 / 0
11.10.2018, 16:32
    #39716247
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить триггер в процедуре и через PREPARE?
superpupervestмне надо создать триггер в процедуреНевозможно.
...
Рейтинг: 0 / 0
11.10.2018, 17:32
    #39716303
superpupervest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить триггер в процедуре и через PREPARE?

Но если узнаете, почему у Вас по другому, пишите.
...
Рейтинг: 0 / 0
11.10.2018, 22:42
    #39716406
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить триггер в процедуре и через PREPARE?
Ну хоть бы посмотрел сперва, что запостить-то собираешься...
...
Рейтинг: 0 / 0
12.10.2018, 01:08
    #39716429
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить триггер в процедуре и через PREPARE?
superpupervestЯ понял, в Prepare нельзя создавать DELIMITER.В SQL-запросах в принципе нет запроса DELIMITER.
DELIMITER - это команда консольного клиента mysql. Кроме этого поддерживается некоторыми GUI-клиентами.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как выполнить триггер в процедуре и через PREPARE? / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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