У меня следующая проблема: я пытаюсь вставить данные в таблицу, однако мой триггер не позволяет мне выполнить вставку.Мой триггер состоит в том, чтобы вставить codigolle в таблицу журнала, когда введен «год» <'2000', но я сталкиваюсь со следующей ошибкой: </p>
"ОШИБКА: у запроса нет места назначения для данных результата СОВЕТ: Если вы хотите отменить результаты SELECT, используйте вместо этого PERFORM. КОНТЕКСТ: функция PL / pgSQL funcaotriggerxx () строка 5 в операторе SQL "
TRIGGER
CREATE FUNCTION funcaoTriggerXX() RETURNS trigger AS $valor$
DECLARE
cod INT;
BEGIN
SELECT codigolivro
FROM edicao
WHERE ano < '2000';
cod = codigolivro;
INSERT INTO log (codigolivro) VALUES (cod);
RETURN cod;
END;
$valor$ LANGUAGE plpgsql;
CREATE TRIGGER codigoLivros AFTER INSERT ON edicao
EXECUTE PROCEDURE funcaoTriggerXX();
PROCEDURE
CREATE OR REPLACE FUNCTION seculoxx()
RETURNS integer AS $total2$
declare
total2 integer;
BEGIN
SELECT count(*) into total2
FROM edicao
WHERE ano < 2000;
RETURN total2;
END;
$total2$ LANGUAGE plpgsql;
SELECT
SELECT seculoxx();
INSERT
INSERT INTO edicao (codigolivro, numero, ano) VALUES ('1325','4','1990');
Структура таблицы также проста: edicao
- код (числовой)
- Версия (символ)
- Год (целое число)
log
Можеткто-нибудь поможет мне?