Search Postgresql Archives

Re: Function PostgreSQL 9.2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux