ola senhores
tenho um campo em uma tabela
fiz um exemplo simples onde quero informar a valor de um campo pela trigger
INSERT BEFORE antes de gravar os dados... so que como o campo é um not
null <FK>
quando tento gravar por uma outra função ele mostra o erro que é um campo
NULL e não deixa gravar !!!
*o postgres não permite mesmo isso, tem que ter o valor de qualquer maneira
mesmo que eu queira informar esses valores no before insert ?*
CREATE TABLE sc_criticas.criticas (
id_criticas BIGSERIAL,
* id_pessoas_usuarios* padroes.dom_idcontrole*notnull*,
data_registro TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT now(),
CONSTRAINT pk_criticas PRIMARY KEY(id_criticas),
CONSTRAINT fk_pessoasusuarios_criticas FOREIGN KEY (id_pessoas_usuarios)
REFERENCES sc_pessoas.pessoas_usuarios(id_pessoas_usuarios)
ON DELETE NO ACTION
ON UPDATE CASCADE
NOT DEFERRABLE
)
WITH (oids = false);
------------------------------------------------------------------------------------------------------------
CREATE TRIGGER criticas_tr
BEFORE INSERT
ON sc_criticas.criticas FOR EACH ROW
EXECUTE PROCEDURE public.valirada();
---------------------------------------------------------------------------------------------------------------------
CREATE OR REPLACE FUNCTION public.valirada (
)
RETURNS trigger AS
$body$
BEGIN
new.id_pessoas_usuarios = 1;
return new;
END;
$body$
LANGUAGE 'plpgsql'
VOLATILE
CALLED ON NULL INPUT
SECURITY INVOKER
COST 100;
ᐧ
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral