Thread: Using %TYPE in function defs

Using %TYPE in function defs

From
Dennis Gearon
Date:
Answered my own question by TRYING it .... oooooo .... scary for a responsible 44 year old, who
knows the cost of experiments gone wrong. But OTOM, my instllation is just starting so I could
break something and not cry about it.

It is possible to define a function using %TYPE. Maybe this could be put in the manuals?
------------------------------------------------------------
CREATE OR REPLACE FUNCTION add_usr ( Usrs.first_name%TYPE,
                                     Usrs.middle_name%TYPE,
                                     Usrs.sur_name%TYPE,
                                     Usrs.sur_name_extra%TYPE,
                                     Gens.gen%TYPE,
                                     EmailAddrs.email_addr%TYPE,
                                     UsrEmailAddrTypes.usr_email_addr_type%TYPE,
                     UsrEmailAddrs.pri_for_usr%TYPE)
RETURNS BOOLEAN AS '
    DECLARE
    var_first_name          ALIAS FOR $1;
    var_middle_name         ALIAS FOR $2;
    var_sur_name            ALIAS FOR $3;
    var_sur_name_extra      ALIAS FOR $4;
    var_gen                 ALIAS FOR $5;
    var_email_addr          ALIAS FOR $6;
    var_usr_email_addr_type ALIAS FOR $7;
    BEGIN
        RETURN ''f'';
    END;
' LANGUAGE 'plpgsql';