изменить флаг записи
От: system.console  
Дата: 11.01.13 04:07
Оценка:
Скажите пожалуйста, если мне нужно, чтобы при update записей одной таблицы соответственно изменялся флаг в записи другой таблицы,
можно ли реализовать это на уровне СУБД и, если да, в какую сторону копать ?
СУБД MySQL.
Re: изменить флаг записи
От: cvetkov  
Дата: 11.01.13 05:51
Оценка: +2
Здравствуйте, system.console, Вы писали:

SC>в какую сторону копать ?

это называется тригер.
SC>СУБД MySQL.
не знаю есть ли оно там.
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Re: изменить флаг записи
От: DarkMaster Украина http://www.bdslib.at.ua
Дата: 11.01.13 08:17
Оценка: +1
Здравствуйте, system.console, Вы писали:

SC>Скажите пожалуйста, если мне нужно, чтобы при update записей одной таблицы соответственно изменялся флаг в записи другой таблицы,

SC>можно ли реализовать это на уровне СУБД и, если да, в какую сторону копать ?
SC>СУБД MySQL.

Или триггером или хранимой процедурой. Хранимки MySQL вроде как уже есть. Да и триггеры должны быть.
WBR, Dmitry Beloshistov AKA [-=BDS=-]
Re[2]: изменит флаг
От: system.console  
Дата: 11.01.13 18:29
Оценка:
DM>Или триггером или хранимой процедурой. Хранимки MySQL вроде как уже есть. Да и триггеры должны быть.
Да, есть там и то и другое.
Вот еще у меня какой вопрос.
Допустим, триггер у меня срабатывает на UPDATE.
Если этим самым апдейтом у меня, к примеру, обновляется сразу 20 записей, это значит, что и триггер двадцать раз сработает ?
Можно ли сделать так, чтобы он сработал только один раз после окончания группового апдейта ?
Re[3]: изменит флаг
От: londinium Украина  
Дата: 11.01.13 19:41
Оценка:
Здравствуйте, system.console, Вы писали:



DM>>Или триггером или хранимой процедурой. Хранимки MySQL вроде как уже есть. Да и триггеры должны быть.

SC>Да, есть там и то и другое.
SC>Вот еще у меня какой вопрос.
SC>Допустим, триггер у меня срабатывает на UPDATE.
SC>Если этим самым апдейтом у меня, к примеру, обновляется сразу 20 записей, это значит, что и триггер двадцать раз сработает ?
SC>Можно ли сделать так, чтобы он сработал только один раз после окончания группового апдейта ?
А это зависит от типа триггера. В больших СУБД есть как триггеры, которые срабатывают на обновление каждой строки (FOR EACH ROW),
так и триггеры, которые срабатывают один раз при обновлении пачки записей. Не знаю, есть ли такая штука в MySQL
Re[4]: изменит флаг
От: system.console  
Дата: 12.01.13 03:42
Оценка:
L>А это зависит от типа триггера. В больших СУБД есть как триггеры, которые срабатывают на обновление каждой строки (FOR EACH ROW),
L>так и триггеры, которые срабатывают один раз при обновлении пачки записей. Не знаю, есть ли такая штука в MySQL
В синтаксисе опредееления триггера FOR EACH ROW присутствует ...
А как к примеру определяется триггер, срабатывающий на пачку записей в этих ваших больших СУБД ?
Re[5]: изменит флаг
От: wildwind Россия  
Дата: 12.01.13 17:50
Оценка: 3 (1)
Здравствуйте, system.console, Вы писали:

SC>А как к примеру определяется триггер, срабатывающий на пачку записей в этих ваших больших СУБД ?


Точно так же, только без "FOR EACH ROW"
По-умному они называются statement-level и row-level триггерами.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.