powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / можно ли сделать тригером?
6 сообщений из 6, страница 1 из 1
можно ли сделать тригером?
    #39239606
кириллk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть большая таблица
в ней есть поле "id"
И есть много таблиц таблица_id

Вопрос можно ли сделать тригер, который бы переносил данные из большой таблицы по маленьким в зависимости от поля "id"?

Например в большой таблице есть запись с признаком id = 1
Значит перенести нужно в таблица1

Сейчас я делаю это динамическим курсором

Спасибо
...
Рейтинг: 0 / 0
можно ли сделать тригером?
    #39239623
Cygapb-007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кириллk,

Может быть, вам нужно партицирование? Chapter 19 Partitioning ?

Чтобы сказать, возможно ли это делать через триггер, требуется больше информации о структуре таблиц. Они идентичны и различаются только наименованием? Или есть дополнительные/исключенные поля?

Если таблицы идентичны (или нет дополнительных значимых (NOT NULL) полей в нумерованных таблицах), то наверное можно сделать триггеры, которые будут дублировать изменения в нумерованную таблицу через динамический запрос (вроде бы его можно делать в триггере MySQL? не помню...), но смысла в задваивании данных я не вижу от слова "совсем".
...
Рейтинг: 0 / 0
можно ли сделать тригером?
    #39239878
кириллk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Cygapb-007]кириллk,

Спасибо!
Структура у таблиц одинаковая, задача в том что разные данные для разных задач будут использоваться. И удобнее использовать.

большая таблица, после того как данные разбросаются по маленьким таблицам, будет очищена
...
Рейтинг: 0 / 0
можно ли сделать тригером?
    #39240133
Cygapb-007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кириллkбольшая таблица, после того как данные разбросаются по маленьким таблицам, будет очищена
А тогда зачем триггер????
Сделайте однократное перемещение данных в разные таблицы - и все...
...
Рейтинг: 0 / 0
можно ли сделать тригером?
    #39240178
Cygapb-007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cygapb-007наверное можно сделать триггеры, которые будут дублировать изменения в нумерованную таблицу через динамический запрос (вроде бы его можно делать в триггере MySQL? не помню...)
Нельзя.
sqlfiddle.comDynamic SQL is not allowed in stored function or trigger
...
Рейтинг: 0 / 0
можно ли сделать тригером?
    #39240234
Cygapb-007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кириллk,

если очень надо триггером для новых строк в процессе переноса, то как-то так http://sqlfiddle.com/#!9/41648/1 :
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
create table tab(id int, val int);
create table tab1(id int, val int);
create table tab2(id int, val int);
create table tab3(id int, val int);
//
create trigger TR_tab_AI after insert on tab
for each row
begin
  case new.id
    when 1 then insert tab1(id,val) values(new.id, new.val);
    when 2 then insert tab2(id,val) values(new.id, new.val);
    else insert tab3(id,val) values(new.id, new.val);
  end case;
end;
//
insert tab values(1,11),(2,21),(1,12);
insert tab values(5,51),(6,61),(1,13),(5,52);
//
select * from tab;
select * from tab1;
select * from tab2;
select * from tab3;
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / можно ли сделать тригером?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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