On 04/19/2016 03:23 PM, drum.lucas@xxxxxxxxx wrote:
Hi all, I've got two tables: - users - companies I'm trying to create a function that: * if users.code is empty, it gives a default value * And the increment_client_code in company should auto increment for the next client code What I've done so far: 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"(); But still can't do that works.. What Am I missing?
Information. eg.: The schema for the tables. Why is not just adding a DEFAULT value to the users.code not an option? What the default code should be or how it is to be calculated? What is increment_client_code? Does increment_client_code relate to users or some other table, say clients?
Cheers
-- Adrian Klaver adrian.klaver@xxxxxxxxxxx -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general