我是Postgresql的新手。
我创建了一个函数,用于检查INSERT语句是否尝试在两个不同的表中创建相同的值。
CREATE OR REPLACE FUNCTION check_pids_not_equal()
RETURNS trigger AS
$BODY$
begin
if exists (select *
from cards c , echecks e
where c.pid = e.pid)
then
raise NOTICE 'Must have different PID than entry in cards.pid';
end if;
return null;
end
$BODY$
LANGUAGE plpgsql
我这样分配了触发器:
我这样分配了触发器:
CREATE TRIGGER check_cards_pids_trigger
BEFORE INSERT OR UPDATE
ON cards
FOR EACH ROW
EXECUTE PROCEDURE check_pids_not_equal();
现在,每当我尝试在Cards表中插入记录时,即使记录明显存在缺失列或错误的列类型,我总是得到INSERT 0 0
而没有错误消息。
你有什么想法吗?另外,如何显示更多的错误报告?
new.pid
来获取当前插入记录的pid
。 - Roman Pekar