Olá, Possuo duas tabelas:
- users - companies Estou tentando criar uma funcão que faca: - Se users.code é empty, dá um default value = 1000 - e increment_client_code em companies deve auto-incrementar pelo próximo client code O que fiz até agora: DROP FUNCTION IF EXISTS client_code_increment_count(); > CREATE OR REPLACE FUNCTION "public"."client_code_increment_count" () > RETURNS TABLE("code" INT) AS > $BODY$ > SELECT MAX(CAST(users.code AS INT)) FROM users WHERE users.code ~ '^\d+$' > AND company_id = 2 > $BODY$ > LANGUAGE sql; > SELECT * FROM "client_code_increment_count"(); CREATE OR REPLACE FUNCTION "public"."auto_generate_client_code_if_empty" () > RETURNS "trigger" > VOLATILE > AS $dbvis$ > BEGIN > END; > $dbvis$ LANGUAGE plpgsql; > CREATE TRIGGER "increment_client_code" > BEFORE INSERT OR UPDATE ON users > FOR EACH ROW > EXECUTE PROCEDURE "auto_generate_client_code_if_empty"(); Mas ainda não consigo chegar no resultado... Alguém poderia dar uma luz sobre onde estou errando? Obrigado Lucas
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral