【发布时间】:2018-11-29 17:13:53
【问题描述】:
我有以下问题: 我正在尝试将数据插入表中,但是我的触发器阻止我执行插入。我的触发器是在输入给定的 'year'
" 错误:查询没有结果数据的目的地 提示:如果您想丢弃 SELECT 的结果,请改用 PERFORM。 CONTEXT: PL/pgSQL function funcaotriggerxx() line 5 at SQL statement "
触发
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();
程序
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 seculoxx();
插入
INSERT INTO edicao (codigolivro, numero, ano) VALUES ('1325','4','1990');
表格的结构也很简单: 教育学院
- 代码(数字)
- 版本(字符)
- 年份(整数)
日志
- codigolivro
有人可以帮我吗?
【问题讨论】:
标签: postgresql function stored-procedures triggers insert