Я хочу создать триггер каждый раз, когда новая строка добавляется в ArrayA .
Это код, который я использовал:
CREATE TRIGGER increasement
AFTER INSERT
ON ArrayA
FOR EACH ROW
EXECUTE PROCEDURE func_increasement();
Добавлена строка, и мне нужно обновить поле в ArrayB , но проблема в том, что:
Мне нужно знать идентификатор новой строки, которая была добавлена, чтобы узнать, какую строку увеличить в ArrayB.
Вот что я пробовал:
CREATE OR REPLACE FUNCTION func_increasement()
RETURNS trigger AS
$$
BEGIN
IF (TG_OP = 'INSERT') THEN
UPDATE ArrayB SET number = number + 1
WHERE ArrayB.id = ( SELECT ArrayA.arraya_id FROM ArrayA WHERE (SELECT COUNT(*) FROM ArrayA));
END;
$$ LANGUAGE plpgsql;
Это запрос, который я использовал для получения общего количества строк.
Select Count(*) from ArrayA;