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
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral