2014-01-21 4 views
1

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

В таблице представлены две колонки tab2id, tab3id.

После вставки на tab1 я хочу обновить строку в tab2 с помощью tab2id и строки в tab3 с помощью tab3id.

+0

Добавьте еще какое-то значение к вашему вопросу, дайте структуру таблицы, укажите пример, который вы пробовали .. ожидаемый результат – Ashish

+0

По крайней мере, следует опубликовать схемы для всех трех таблиц и объяснить, что именно должно быть обновлено. – peterm

+0

У вас должно быть одно значение для чего-то во всей базе данных, не должно быть где-либо, где ваши данные будут повторяться. Это плохой дизайн. Что вы используете для обновления базы данных? – dayuloli

ответ

2

Это трудно сказать, что именно вы хотите обновить в таблицах tab2 и tab3, так как вы не вдаваться в детали этого в вашем вопросе, но триггер может выглядеть как

DELIMITER $$ 
CREATE TRIGGER tg_ai_tab1 
AFTER INSERT ON tab1 
FOR EACH ROW 
BEGIN 
    UPDATE tab2 
    SET value2 = value2 + 1 
    WHERE tab2id = NEW.tab2id; 

    UPDATE tab3 
    SET value3 = value3 + 1 
    WHERE tab3id = NEW.tab3id; 
END$$ 
DELIMITER ; 

Вот SQLFiddle demo

+0

вы, сэр, гений, все, что мне не хватало, это начало ... и. благодаря! – user2798694

0

Я не думаю, что вы можете ВСТАВИТЬ и сделать ОБНОВЛЕНИЕ в то же время, используя 1 оператор SQL. Вам нужно отделить выполнение, создав отдельные инструкции SQL. Если этой информации недостаточно, проверьте это. Он должен полностью ответить на вашу проблему.

ACCESS/SQL: How to INSERT INTO/UPDATE at the same time?

Смежные вопросы