|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.04.2013, 00:19 | #1 |
Форумчанин
Регистрация: 17.01.2010
Сообщений: 277
|
Не работают триггеры.
Всем привет. Вопрос большей частью по MySQL. Есть таблица (`header`) с древовидной структурой (`id`,`id_header`,`name`). Написал триггер, который при удалении должен удалять дочерние элементы:
Код:
Код:
|
23.04.2013, 00:40 | #2 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
переводчика наймите
|
23.04.2013, 10:21 | #3 |
Форумчанин
Регистрация: 17.01.2010
Сообщений: 277
|
Да я понял что нужно какой то параметр увеличить для стэка. А вот где и как я не знаю(
|
23.04.2013, 10:49 | #4 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
неправильно поняли, вам надо понять почему у вас "Thread stack overrun"
|
23.04.2013, 11:29 | #5 |
Форумчанин
Регистрация: 17.01.2010
Сообщений: 277
|
А какие могут быть причины? Я подумал что какой то параметр настроен неверно.
|
23.04.2013, 11:51 | #6 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
такое часто может быть если есть рекурсия и она достаточно глубокая, ну или если она бесконечная то однозначно произойдет
у вас как я вижу тоже рекурсия, вот она достигает предела стэка, вам надо увеличить этот параметр (thread_stack вроде), тут вы правы, это я не туда смотрел , на сколько - тут сложно сказать, надо смотреть на данные, на сколько может идти рекурсия .. посмотрите сколько оно сейчас |
23.04.2013, 16:31 | #7 |
Форумчанин
Регистрация: 17.01.2010
Сообщений: 277
|
Очень странно, рекурсия была всего на один уровень вложенности.. Ну да ладно, изменил я все таки этот параметр. Теперь ошибка такая:
Код:
|
23.04.2013, 19:35 | #8 |
Форумчанин
Регистрация: 08.07.2010
Сообщений: 679
|
MySQL не поддерживает рекурсивные триггеры (может кто и поправит .. может есть параметр в новых версиях ... ). В MSSQL насколько я знаю, такой параметр есть.
В вашей ситуации сделайте поле id_header в качестве внешнего ключа на `id` и пропишите ему ON DELETE CASCADE А вообще в таких ситуациях пишите хранимые процедуры |
24.04.2013, 09:13 | #9 | |
Форумчанин
Регистрация: 17.01.2010
Сообщений: 277
|
Цитата:
|
|
24.04.2013, 10:06 | #10 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
Так а чем каскад не угодил?
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
триггеры | brans | SQL, базы данных | 1 | 14.12.2011 10:18 |
Триггеры | JoyStick 0_o | Помощь студентам | 4 | 01.06.2011 12:13 |
Триггеры | JoyStick 0_o | SQL, базы данных | 0 | 01.06.2011 10:24 |
Триггеры | МартинИ | SQL, базы данных | 4 | 23.12.2010 20:12 |
генератор поля, не работают триггеры delphi | Domanoff | БД в Delphi | 4 | 07.04.2010 21:40 |