As vezes queremos fazer uma checagem quando alguém tentar inserir um registro na table que está sendo criada. Podemos criar e usar uma function para fazer esta checagem. Veja o exemplo abaixo:
CREATE FUNCTION testcheckabc(name varchar) RETURNS BOOLEAN AS $$
BEGIN
RETURN (name='a' OR name='b' OR name='c');
END; $$ LANGUAGE plpgsql;
CREATE TABLE testtableabc (
abc varchar(1) CONSTRAINT testconstraintabc CHECK ( testcheckabc(abc) )
);
Se após executarmos este código acima tentamos fazer algo como
INSERT INTO testtableabc VALUES ('d');
Obteremos um erro.




