Создать триггер обновления таблицы SQL - PullRequest
0 голосов
/ 24 ноября 2018

Я хочу создать триггер обновления таблицы khohang и таблицы Dothan.

Вот мой SQL:

CREATE TRIGGER trigger_update on dathang
AFTER UPDATE AS
BEGIN
 UPDATE khohang INNER JOIN dathang on khohang.mahang =dathang.mahang
    SET khohang.soluong = khohang.soluong - (SELECT soluong FROM dathang where khohang.mahang = dathang.mahang)
END

1 Ответ

0 голосов
/ 24 ноября 2018

Триггер происходит, когда действие (ПЕРЕД / ПОСЛЕ вставки, обновления, удаления) выполняется для таблицы, поэтому триггер запускается для этого действия и выполняет какое-либо действие для той же или другой таблицы.Это формат Триггера

DELIMITER $$

USE `database_name`$$

DROP TRIGGER  `Tigger_name`$$

CREATE 
    TRIGGER `Tigger_name` BEFORE/AFTER INSERT /UPDATE/DELETE ON `Table_1` /* trigger fire from this table*/
    FOR EACH ROW BEGIN
        /* (query) action perform */ 
        update table_2 set field_1="value" where table_2.id=New.field_1; /*New.field_1 is refrance Table_1.field_1. which record effect by action*/
    END;
$$

DELIMITER ;

ссылка: https://dev.mysql.com/doc/refman/8.0/en/trigger-syntax.html

...