> Hi,
>
> I have a function, at the end I need to know if the INSERTS have run
> successfully or not.
>
> Here is the function:
>
> [code]
> CREATE OR REPLACE FUNCTION "apr_insert_utilizador_ap"
> (IN ppgroup_id int4,
> IN ppip_address char,
> IN ppusername varchar,
> IN pppassword varchar,
> IN ppemail varchar,
> IN ppactive int4,
> IN ppnome_real varchar,
> IN pptelefone_pessoal varchar,
> IN ppid_anunciante varchar,
> OUT ppreturn_value int4
> )
> RETURNS int4 AS
> $BODY$
>
> DECLARE
> pGROUP_ID alias for $1;
> pIP_ADDRESS alias for $2;
> pUSERNAME alias for $3;
> pPASSWORD alias for $4;
> pEMAIL alias for $5;
> pACTIVE alias for $6;
> pNOME_REAL alias for $7;
> pTELEFONE_PESSOAL alias for $8;
> pID_ANUNCIANTE alias for $9;
> vID_UTILIZADOR_MAX int4;
> vID_UTILIZADOR_NOVO int4;
> vRETURN int4;
>
> BEGIN
>
> SELECT INTO vID_UTILIZADOR_MAX max(id) AS max_id FROM aau_utilizadores;
> vID_UTILIZADOR_NOVO := vID_UTILIZADOR_MAX + 1;
>
> INSERT INTO aau_utilizadores
> (id, group_id, ip_address, username, password, salt, email,
> activation_code,
> forgotten_password_code, remember_code, created_on, last_login, active)
> VALUES (vID_UTILIZADOR_NOVO, pGROUP_ID, pIP_ADDRESS, pUSERNAME,
> pPASSWORD, null,
> pEMAIL, null, null, null, NOW(), null, pACTIVE);
>
> INSERT INTO aau_metadata
> (id, user_id, nome_real, telefone_pessoal)
> VALUES (vID_UTILIZADOR_NOVO, vID_UTILIZADOR_NOVO, pNOME_REAL,
> pTELEFONE_PESSOAL);
>
> INSERT INTO aau_anunciantes
> (user_id, id_anunciante)
> VALUES (vID_UTILIZADOR_NOVO, pID_ANUNCIANTE);
>
> vRETURN := 1;
> ppreturn_value := vRETURN;
>
> END;
> $BODY$
> LANGUAGE PLpgSQL
> RETURNS NULL ON NULL INPUT
> VOLATILE
> EXTERNAL SECURITY INVOKER;
> [/code]
>
> If the INSERTS are all done the function RETURNS "1", but how can I RETURN
> "0" if any error occurred?
>
>
> Best Regards,
> André.
>