Ola Max,
Criei um exemplo completo, copie e cole no PgAdmin e execute o script.
Ele vai criar a tabela, o indice e o trigger; depois crie a conexao no SC e mande gerar
a Grid e Form.
–1
CREATE LANGUAGE plpgsql;
–2
CREATE TABLE teste (
codigo INT NULL ,
nome VARCHAR(40) NULL
);
–3
ALTER TABLE teste
ADD CONSTRAINT pkcodigo PRIMARY KEY (codigo)
;
–4
– Triggers da Tabela: teste
CREATE OR REPLACE FUNCTION “public”.“fun_numeracodigo_teste” () RETURNS trigger AS’
begin
If NEW.codigo is null Or NEW.codigo = 0 then
Select Into NEW.codigo codigo From teste Order by codigo Desc Limit 1;
If NEW.codigo is null Then
NEW.codigo := 1;
Else
NEW.codigo := NEW.codigo + 1;
End If;
End If;
return NEW;
end;
'LANGUAGE ‘plpgsql’ IMMUTABLE CALLED ON NULL INPUT SECURITY INVOKER;
CREATE TRIGGER “tri_numeracodigo_teste” BEFORE INSERT
ON “public”.“teste” FOR EACH ROW
EXECUTE PROCEDURE “public”.“fun_numeracodigo_teste”();