Как правильно написать триггер на сумму чисел строки при появлении новой записи?

Для того чтобы написать триггер в SQL, который будет суммировать числа в новой записи, при её появлении, нам понадобится выполнить несколько шагов.

1. Начнем с создания таблицы, в которой будут храниться наши данные. Предположим, что у нас есть таблица "numbers", содержащая столбец "number", который является числовым:

CREATE TABLE numbers (
    number INT
);

2. Затем создадим триггер, который будет срабатывать при вставке новой записи в таблицу "numbers". Для этого воспользуемся ключевым словом "CREATE TRIGGER" и указанем имя триггера, например "sum_numbers_trigger", а также указываем, что триггер будет срабатывать ДО вставки новой записи:

CREATE TRIGGER sum_numbers_trigger 
    BEFORE INSERT ON numbers

3. Далее, внутри блока кода триггера, мы должны указать, что делать при срабатывании триггера. В нашем случае мы хотим суммировать все числа в новой записи перед её вставкой. Для этого нам понадобится использовать функцию SUM() в сочетании с ключевым словом NEW, которое обозначает новую запись:

FOR EACH ROW
BEGIN
    SET NEW.number = (SELECT SUM(number) FROM numbers);
END;

4. Полный SQL-код триггера на сумму чисел строки при появлении новой записи будет выглядеть следующим образом:

CREATE TRIGGER sum_numbers_trigger 
    BEFORE INSERT ON numbers
    FOR EACH ROW
BEGIN
    SET NEW.number = (SELECT SUM(number) FROM numbers);
END;

5. Теперь, при каждой вставке новой записи в таблицу "numbers", триггер будет срабатывать и суммировать числа этой записи. Результат суммирования будет сохранен в столбце "number" этой же записи.

Важно заметить, что данный триггер суммирует все числа в таблице "numbers", а не только вставленную запись. Если же вам нужно суммировать только числа в новой записи, то вам понадобится использовать другой подход, например, использовать списки и массивы.