Как удалить все записи table_x с помощью триггера, который запускается table_y

Это мой код:

CREATE TRIGGER `back_up_data` BEFORE UPDATE ON `admin`
 FOR EACH ROW BEGIN
DECLARE x FLOAT;
IF NEW.sem_completed=1 THEN
SET x=update_cgpa();
TRUNCATE notifications;
TRUNCATE course_offerings;
TRUNCATE takes;
SET NEW.sem_completed=0;
UPDATE students SET current_sem=(current_sem+1);
IF OLD.current_semester=0 THEN
    SET NEW.current_year=OLD.current_year+1;
    SET NEW.current_semester=1;
ELSE
    SET NEW.current_semester=0;
END IF; 
END IF;

END

Когда я пытаюсь запустить этот код, я получаю следующую ошибку: Невозможно создать хранимую процедуру из другой хранимой процедуры

Странно, что вы должны получать ошибки, связанные с операторами усечения (которые не разрешены в триггерах). ОШИБКА 1422 (HY000): Явная или неявная фиксация не разрешена в сохраненной функции или триггере. - используйте вместо этого удаление.

P.Salmon 01.05.2018 15:10

Спасибо, сработало !!. Интересно, почему здесь не работает усечение

SAINATH THOTA 01.05.2018 15:18

потому что усечение подразумевает фиксацию ...

P.Salmon 01.05.2018 15:19
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
1
3
17
0

Другие вопросы по теме