Que erro é este desta trigger ?

Na tabela item_requisicao eu já tem a quantidade , precoCompra , como que eu atualizo o preço da compra no campo precoCompra ?
CREATE OR REPLACE FUNCTION totalCompra()
RETURNS trigger AS
$BODY$
DECLARE

precoCompra DOUBLE PRECISION;
preco DOUBLE PRECISION;

BEGIN

precoCompra = new.quantidadeItem * precoCompra;

RETURN NULL;
END;
$BODY$
LANGUAGE ‘plpgsql’

CREATE TRIGGER atualizatotalCompra
AFTER INSERT
ON item_requisicao
FOR EACH ROW
EXECUTE PROCEDURE totalCompra()

UPDATE ITEM_REQUISICAO SET precoCompra = <NOVO_VALOR> WHERE <COLUNA> = <XYZ>

Não funciona?