Annotation: core.update_shipping_address_code_trigger

CREATE OR REPLACE FUNCTION core.update_shipping_address_code_trigger()
RETURNS trigger

Information: core.update_shipping_address_code_trigger

Schema core
Function Name update_shipping_address_code_trigger
Arguments
Owner postgres
Result Type trigger
Description

Implementation: core.update_shipping_address_code_trigger

CREATE OR REPLACE FUNCTION core.update_shipping_address_code_trigger()
 RETURNS trigger
 LANGUAGE plpgsql
AS $function$
DECLARE _counter integer;
BEGIN
    IF TG_OP='INSERT' THEN

        SELECT COALESCE(MAX(shipping_address_code::integer), 0) + 1
        INTO _counter
        FROM core.shipping_addresses
        WHERE party_id=NEW.party_id;

        NEW.shipping_address_code := trim(to_char(_counter, '000'));
        
        RETURN NEW;
    END IF;
END
$function$